[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ldconfig multiarch: Probleme beim Linken von libpng.so.2



Hallo,

Ich brauche libpng.so.2 für PTStitcher aus den Panotools.
http://www.path.unimelb.edu.au/~dersch/
http://www.path.unimelb.edu.au/~dersch/PanoTools.tar.gz

Es liegt nur als 32bit binary vor und es fehlt libpng.so.2 (32bit), 
weshalb ich es nicht in hugin 64bit nutzen kann.

Es fehlte auch noch libpano12 und libtif.so.3 für 32bit.
Diese wurden aber richtig gelinkt, nachdem ich sie 
aus /var/chroot/usr/lib nach /usr/lib32 kopierte und ldconfig aufrief.

libpng.so.2 kopierte ich ebenfalls, wie auch libpng10.so.1.0.18 und 
libpng10.so.0. 

libpng.so.2 ist nur ein link auf libpng10.so.0, und libpng10.so.0 ein 
link auf libpng10.so.1.0.18.

libpng.so.2 wird aber nicht gelinkt:
$ sudo /sbin/ldconfig -v -l /lib32/libpng.so.2
/sbin/ldconfig: Ignored file /lib32/libpng.so.2 since it is not a 
regular file.

libtiff.so.3 ist aber auch nur ein link ldconfig hat die tiff lib aber 
korrekt gelinkt:
$ ldconfig -p|grep libtiff.so.3
        libtiff.so.3 (libc6) => /usr/lib32/libtiff.so.3
$  ls -l /usr/lib32/libtiff.so.3
lrwxrwxrwx  1 root root     16 2005-11-05 14:23 /usr/lib32/libtiff.so.3 
-> libtiff.so.3.6.1


Weshalb linkt ldconfig aber nicht libpng.so.2 ?
$  ls -l /usr/lib32/libpng.so.2
lrwxrwxrwx  1 root root 13 2005-11-05 18:31 /usr/lib32/libpng.so.2 -> 
libpng10.so.0

etwa weil das auf libpng10.so.0 weist (damit auf  libpng10.so.1.0.18), 
und nicht auf etwas wie  libpng.so.2.0.18 ?

Ganz merkwürdig, dass das *selbe* PTStitcher binary im 32bit i386_chroot 
läuft, obwohl dort libpng.so.2 auch nicht gelinkt ist:
(i386_chroot)gerhard@ubuntu:~$ ldconfig -p |grep libpng
        libpng12.so.0 (libc6) => /usr/lib/libpng12.so.0
        libpng10.so.0 (libc6) => /usr/lib/libpng10.so.0
Dort bedient sich PTStitcher (richtig) bei libpng10.so.0 und fordert 
nicht libpng.so.2:
$ ldd ~/download/panorama/PTLinux/Helpers/PTStitcher
        linux-gate.so.1 =>  (0xffffe000)
        libpano12.so => /usr/lib/libpano12.so (0x55576000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x555b4000)
        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x556dc000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0x556f9000)
        libtiff.so.4 => /usr/lib/libtiff.so.4 (0x5571d000)
        libz.so.1 => /usr/lib/libz.so.1 (0x55769000)
        /lib/ld-linux.so.2 (0x55555000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x5577a000)

zum Vergleich amd64 x86_64:
gerhard@ubuntu:~$  ldconfig -p |grep libpng
        libpng12.so.0 (libc6,x86-64) => /usr/lib/libpng12.so.0
        libpng12.so.0 (libc6) => /usr/lib32/libpng12.so.0
        libpng12.so (libc6,x86-64) => /usr/lib/libpng12.so
        libpng10.so.0 (libc6,x86-64) => /usr/lib/libpng10.so.0
        libpng10.so.0 (libc6) => /lib32/libpng10.so.0
gerhard@ubuntu:~$  ldd ~/download/panorama/PTLinux/Helpers/PTStitcher
        linux-gate.so.1 =>  (0xffffe000)
        libpano12.so => /lib32/libpano12.so (0x5558f000)
        libc.so.6 => /lib32/tls/libc.so.6 (0x555c6000)
        libm.so.6 => /lib32/tls/libm.so.6 (0x556f4000)
        libjpeg.so.62 => /usr/lib32/libjpeg.so.62 (0x55716000)
        libtiff.so.3 => /usr/lib32/libtiff.so.3 (0x55735000)
        /lib/ld-linux.so.2 (0x55555000)
        libpng.so.2 => not found
        libz.so.1 => /usr/lib32/libz.so.1 (0x55783000)

Tut mir leid aber das kapier ich nicht mehr.

Weitere Gegenüberstellung (i386_chroot vs. amd64 x86_64):
(i386_chroot)gerhard@ubuntu:~$ cat /etc/ld.so.conf
/usr/X11R6/lib

gerhard@ubuntu:~$ cat /etc/ld.so.conf
/usr/X11R6/lib
/lib32
/usr/lib32
/usr/X11R6/lib32
/usr/local/lib
/usr/lib/pango/1.4.0/modules/
/usr/lib/GNUstep/System/Library/Libraries

Weiß jemand was hier falsch läuft?

ciao

Gerhard



Reply to: