[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