Ginn Chen wrote:
> I want to my library work smoothly on both Solaris 10 and Nevada.
> 
> My library links with libssl and libcrypto, I use -L/usr/sfw/lib 
> -R/usr/sfw/lib -lssl -lcrypto.
> I got libssl.so.0.9.8 => /usr/sfw/libssl.so.0.9.8 when I ldd my library.
> But Solaris 10 has libssl.so.0.9.7 not libssl.so.0.9.8.
> 
> So my program can't run on Solaris 10 unless user creates a symbol link 
> for libssl.so.0.9.8.
> 
> If I dump -vL libssl.so.0.9.8, I got
> SONAME libssl.so.0.9.8
> Maybe it's the cause.

Yes.  The SONAME value goes into the dependency of the a.out.
Unless there is a library that's present on both kinds of
systems, then you can't use that library in a binary that has
to run on both systems.

Of course making symlinks in /usr/sfw/lib *might* work.
Or it might crash.

For most libraries in Solaris we don't remove the old libraries
until the new ones have been available for a long time.  But the
software in /usr/sfw is much more fast-moving and unstable.

--chris

Reply via email to