Hi,

Dagobert Michelsen wrote:
Hi Riccardo,

Am 21.06.2016 um 12:48 schrieb Riccardo Mottola <[email protected]>:
in gnustep-back I am trying to compileagainst the cairo library both on solaris 
9 and solaris 10. Since pkg-config doesn't appear to work too well, I added 
manually CFLAGS and LDFLAGS this way:

I strongly suggest fixing the .pc file.

the .pc file from cairo? this wizardry is hard to fix ...


I see no linkage to tls!

unstable9s% ldd -r /opt/csw/lib/libpixman-1.so
         /usr/lib/secure/s9_preload.so.1
         libm.so.1 =>     /usr/lib/libm.so.1
         libc.so.1 =>     /usr/lib/libc.so.1
         libdl.so.1 =>    /usr/lib/libdl.so.1
         /usr/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1
         symbol not found: __tls_get_addr                
(/opt/csw/lib/libpixman-1.so)

So libpixman-1.so needs the symbol, but does not link against it. 
__tls_get_addr is not
from GnuTLS (Transport Layer Security), but from a multithreading library 
(Thread Local Store).
I don’t know where this comes from, 1 minute Googling didn’t bring up anything 
reasonable
and I can’t remember to have seen this before. You may need to investigate.


thanks for the TLS poiter and the -r flag, it is thus a lazy symbol.

I tried to rebuild pixman (without any update) and I notice that the work/solaris9-sparc/build-isa-sparcv9/pixman-0.22.2/pixman/.libs/libpixman-1.so

already has that issue. I then changed the receipe to build with GCC instead of sun studio, but no fix.

This is ldd -r on Solaris sparc 10
ldd -r /opt/csw/lib/libpixman-1.so
        libm.so.1 =>     /lib/libm.so.1
        libc.so.1 =>     /lib/libc.so.1
        /platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1
        libm.so.2 =>     /lib/libm.so.2


this on 9:ldd -r  /opt/csw/lib/libpixman-1.so
        /usr/lib/secure/s9_preload.so.1
        libm.so.1 =>     /usr/lib/libm.so.1
        libc.so.1 =>     /usr/lib/libc.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        /usr/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1
symbol not found: __tls_get_addr (/opt/csw/lib/libpixman-1.so)


I notice there is an extra "dl" library!

Darn. I found of several people who have a similarproblem, but absolutely no solution. some peoplce cited the -z linker flag, but it needs an option which I don't know which is correct.

Riccardo

Reply via email to