I think you can indeed remove ar rs completely for 64-bit sparc too... In a 10 
year timeframe some things may have changed... It is really impressive that you 
found something in your archive that happened so long ago. If you put Solaris 
10 as minimum OS version, then you can safely remove that ar command.



I now just used to RANLIB workaround since I can control that one outside the 
OpenSSL sources (which I don’t like to change).



Kees



-----Original Message-----

From: Andy Polyakov via RT [mailto:r...@openssl.org] 

Sent: Wednesday, June 27, 2012 16:01

To: Kees Dekker

Cc: openssl-dev@openssl.org

Subject: Re: [openssl.org #2838] build issue on Solaris 10/Sparc for 64-bit 
build of OpenSSL 1.01c



> When building OpenSSL, using the solaris64-sparcv9-cc config, then

> RANLIB uses ar -rs as RANLIB command. Solaris 10 on UltraSparc (in my

> case a V440 system) suffers from a bug in:

> 

> 

> /usr/ccs/bin/ar:

> 

>         SunOS 5.10 Generic 144500-19 Jul 2011

> 

> 

> The sparc64-sparcv9-cc config seems to define ar -rs as ranlib command.



http://www.mail-archive.com/openssl-dev@openssl.org/msg08522.html must

be the reason. It might happen that 64-bit build was performed in place

after 32-bit one, without removing lib[crypto|ssl].a. In this case it

would gradually replace 32-bit .o files with 64-bit ones, i.e. there

would be mixture of 32- and 64-bit .o files. And it might be that ar

"considered" 64-bit .o as generic files and didn't care to maintain the

symbol table... In either case the outcome was

http://cvs.openssl.org/chngview?cn=4288. Latter mentions 109147-06, and

I can't reproduce problem with 109147-09... I mean build completes even

if I remove /usr/ccs/bin/ar rs from config line. Also

solaris64-sparcv9-gcc never had it and nobody complained (though it was

added later).



> Each (!) time ar with r flag is called, then all objects in the static

> libcrypto.a library are increased in size. The archive itself easily

> becomes >2Gb and gets corrupt, where after the build halted/fails.

> 

> I used the RANLIB=ranlib workaround before calling Configure.



I suppose we can remove ar rs altogether, but meanwhile stick to this

workaround.





______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to