On 24/03/09, 14:09:54, Philip Brown <[email protected]> wrote regarding Re: 
[csw-maintainers] Package incompatibility, any suggestions?:


> > $ dump -Lv /opt/csw/lib/libnet.so | grep -c SONAME
> > 0
> >
> > Sadly not yet.  Lib needs versioned SONAME set.

> well, it WOULD be possible to force the new lib, to have a new SONAME
> of "libnet.so.1.1"

The existing software links to libnet.so, eg:

$ dump -Lv /opt/csw/bin/curl | grep libnet
[7]     NEEDED          libnet.so

So the libnet.so would need to remain the old lib or be a link
to the old lib but when linking new software with just -lnet the
linker will look for libnet.so and extract the old SONAME (none).
Setting the SONAME in the new libnet only will require the lib
version lib to be used during builds which is messy. 


The old lib needs to be named with a version and more importantly
software that links to it needs to link directly to it not libnet.so
(done automatically if there is an SONAME), ie, needs relinking.

Eg: 

$ dump -Lv /opt/csw/bin/curl | grep libcurl.so.4
[1]     NEEDED          libcurl.so.4


$ ls -l /opt/csw/lib/libcurl.so
lrwxrwxrwx   1 root     other         16 Mar 17  2008 
/opt/csw/lib/libcurl.so -> libcurl.so.4.0.1

$ dump -Lv /opt/csw/lib/libcurl.so | grep SONAME
[10]    SONAME          libcurl.so.4

$ dump -Lv /opt/csw/lib/libcurl.so.4 | grep SONAME
[10]    SONAME          libcurl.so.4

$ dump -Lv /opt/csw/lib/libcurl.so.3 | grep SONAME
[9]     SONAME          libcurl.so.3




James.



_______________________________________________
maintainers mailing list
[email protected]
https://lists.opencsw.org/mailman/listinfo/maintainers

Reply via email to