[csw-maintainers] missing symbol libz
Laurent Blume
laurent at opencsw.org
Wed May 22 20:39:58 CEST 2013
On 2013-05-22 12:06 AM, Riccardo Mottola wrote:
> ls -l /opt/csw/lib/libz.so.1
> lrwxrwxrwx 1 root root 13 Apr 7 18:57
> /opt/csw/lib/libz.so.1 -> libz.so.1.2.7
>
> The linker ought to prefer this one? ldd says something even different:
> ldd libxml2.so.2
> libdl.so.1 => /lib/libdl.so.1
> libpthread.so.1 => /lib/libpthread.so.1
> libz.so.1 => /opt/csw/lib/sparcv8plus+vis/libz.so.1
<snip>
That's correct. Actually, it's probably an indirect link, because you
didn't provide -R/opt/csw/lib/$ISALIST in your linking.
If you do an ldd -v, you will get which other lib is asking for this one.
You must not link directly against those, it's the runtime linker that
chooses thet best one according to the best architecture your current
CPU supports.
> -L/opt/csw/lib -R/opt/csw/lib <snip> -L/usr/lib
That's good: OpenCSW's lib comes first, before the system's. No problem
with that, it doesn't matter if you add other -L after it.
> -L../Source/./obj -L../Model/./obj
> -L/home/multix/GNUstep/Library/Libraries
> -L/opt/GNUstep/Local/Library/Libraries
> -L/opt/GNUstep/System/Library/Libraries -lgnustep-gui -lpng -ltiff
> -lz -ljpeg -lm -lgnustep-base -lobjc -lsocket -lnsl -lm
That's good, -lz is here.
> Undefined first referenced
> symbol in file
> gzopen64 /opt/csw/lib/libxml2.so.2
>
> which would include /opt/csw/lib but not the particular
> /opt/csw/lib/sparcv8/ !
Again, it must not include it, so don't try.
What comes to my mind here is, have you installed CSWlibz-dev?
Ie, do you have /opt/csw/lib/libz.so, so that the linker can find it? If
you have only the .so.1*, it's not enough.
Laurent
More information about the maintainers
mailing list