ld linking (Was: openssl-0.9.8)

Auke Kok sofar at lunar-linux.org
Mon Jul 25 12:25:22 UTC 2005


Auke Kok wrote:

>Jerry Lundström wrote:
>
>  
>
>>Auke Kok wrote:
>> 
>>
>>    
>>
>>>Jerry Lundström wrote:
>>>   
>>>
>>>      
>>>
>>>>Like Debian we should look into if we can get ld to link to the .so (or 
>>>>the .so.major) so that when installing a newer version wont break others.
>>>>     
>>>>
>>>>        
>>>>
>>>This whole discussion is moot as apache2 (2.0.54) doesn't compile with 
>>>openssl-0.9.8. Until this is fixed the openssl version bump is 
>>>***POSTPONED***. chipig informs us that there is a 2.0.55 pending that 
>>>addresses this issue.
>>>   
>>>
>>>      
>>>
>>I don't think so. To get ld to link on .so or .so.major would be a big 
>>improvment overall and it has nothing to do with just libssl.
>>
>>    
>>
>
>of course, but I just wanted to make sure that people realize that 
>openssl-0.9.8 isn't ready yet for inclusion in moonbase. Of course, the 
>ld issue would benefit a LOT of modules, not even openssl (readline 
>comes to mind, and others).
>  
>

followup (I never forget about pending stuff):

it's possible to tell other applications to link to a different openssl
version the proper way by just compiling openssl differently. Here's an
excerpt from the openssl compile:

( set -x; cc  \
        -shared -o lib$i.so.0.9.7 \
        -Wl,-soname=lib$i.so.0.9.7 \
        -Wl,-Bsymbolic \
        -Wl,--whole-archive lib$i.a \
        -Wl,--no-whole-archive $libs -ldl -lc ) || exit 1; \
libs="-l$i $libs"; \

as you can see 'SONAME' is set to lib$i.so.0.9.7. None of the targets
that link against openssl actually FORCE the version to be set to
'0.9.7' but instead rely on information from -lssl instead, which has
'SONAME' set to 0.9.7.

$ readelf -a /usr/lib/libssl.so | grep SONAME
 0x0000000e (SONAME)                     Library soname: [libssl.so.0.9.7]

forcing openssl to compile as 'libXXX.so.0.9' would obviously force a
recompile of most applications unless we symlink libssl.so.0.9.7 back to
libssl.so.0.9, and might provide other problems, but right now seems the
right thing to do.

anyone like to test this?

sofar



>sofar
>
>_______________________________________________
>Lunar-dev mailing list
>Lunar-dev at lunar-linux.org
>http://foo-projects.org/mailman/listinfo/lunar-dev
>
>  
>



More information about the Lunar-dev mailing list