how does linker choose version of shared lib?
Steve Jaffe
sjaffe@riskspan.com
Thu Apr 28 19:02:00 GMT 2011
This is exactly it -- /usr/lib/libssl.so points to /lib/libssl.so.4.
I ought to have realized that /lib is not one of the default library search
directories -- /usr/lib is where the linker will look.
Thanks for the hint!
Steve Jaffe wrote:
>
> You're right, and this is what is strange -- there is no /lib/libssl.so.
> Perhaps this means there *is* a libssl.so but in another one of the
> standard directories (pointing to /lib/libssl.so.4), which would be very
> perverse but seems possible.
>
> -----Original Message-----
> From: Paul Smith [mailto:paul@mad-scientist.net]
> Sent: Thursday, April 28, 2011 1:22 PM
> To: Steve Jaffe
> Cc: gcc-help@gcc.gnu.org
> Subject: Re: how does linker choose version of shared lib?
>
> On Thu, 2011-04-28 at 09:57 -0700, Steve Jaffe wrote:
>> To be specific: I have two versions of libssl in /lib: libssl.so.4 and
>> libssl.so.6. What happens is that the .so.4 version is always linked --
>> what determines this behavior? (and how could one therefore change it, ie
>> specify which version to choose?)
>
> Typically there's a symbolic link on the system "libssl.so" (note no
> version) which points to whichever major version you want to use as the
> default. This "un-versioned" .so is what's used by the compile-time
> linker to determine which .so to link.
>
> Look for libssl.so and see if it points to libssl.so.4 or libssl.so.6.
>
>
>
--
View this message in context: http://old.nabble.com/how-does-linker-choose-version-of-shared-lib--tp31498483p31498760.html
Sent from the gcc - Help mailing list archive at Nabble.com.
More information about the Gcc-help
mailing list