libpng.so.3 error

Üldised linuxiga seotud küsimused, mis ei kuulu teiste foorumite alla

Moderaator: Moderaatorid

Vasta
Kasutaja avatar
asjameez
Vana Pingviin
Vana Pingviin
Postitusi: 428
Liitunud: 09.03.2007, 15:46

libpng.so.3 error

Postitus Postitas asjameez »

Käivitades mõningaid programme antakse error:
error while loading shared libraries: libpng.so.3: cannot open shared object file: No such file or directory
Kuid libpng.so.3 on täitsa olemas:
find / -iname "libpng*.so*" 2>/dev/null
/usr/lib/libpng.so.2
/usr/lib/libpng12.so
/usr/lib/libpng12.so.0
/usr/lib/libpng.so
/usr/lib/libpng.so.3
/usr/lib32/libpng12.so
/usr/lib32/libpng12.so.0
/usr/lib32/libpng.so
/lib/libpng12.so.0.42.0
/lib/libpng12.so.0
/lib32/libpng12.so.0.42.0
/lib32/libpng12.so
/lib32/libpng12.so.0
Miks ta seda üles ei leia? :roll:
"Dumbusers use Windows. Powerusers use Linux. Dumbusers who think they are powerusers use Mac."
Kasutaja avatar
sander85
Vana Pingviin
Vana Pingviin
Postitusi: 4361
Liitunud: 08.08.2005, 03:00

Postitus Postitas sander85 »

sul on see kuidagi imelikult.. mitme bitine see süsteem sul on? tavaliselt olen näinud lib64 kausta, sul on lib32, mis võiks viidata, et muu süsteem on 32-bitine ja sel juhul 32-bitist libpng.so.3 faili sul ei ole, mida võib aga rakendus vajada kui see juhtub 32-bitine olema..
Pilt Pilt Pilt
Kasutaja avatar
asjameez
Vana Pingviin
Vana Pingviin
Postitusi: 428
Liitunud: 09.03.2007, 15:46

Postitus Postitas asjameez »

Mul on 64-bitine süsteem ja rakendus ise on 32-bit. Kas siis polegi võimalik tööle saada? Olemas on ka Windowsi exe samast asjast ja läbi wine töötab küll.
Peale libpng.so.3 nõuab rakendus veel hulga teisi libareid ja need leiab ilusti üles.
"Dumbusers use Windows. Powerusers use Linux. Dumbusers who think they are powerusers use Mac."
Kasutaja avatar
mihkel
Vana Pingviin
Vana Pingviin
Postitusi: 1284
Liitunud: 16.04.2006, 13:08

Postitus Postitas mihkel »

Mida ütles ldd?
ldd binaarinimi
Kasutaja avatar
asjameez
Vana Pingviin
Vana Pingviin
Postitusi: 428
Liitunud: 09.03.2007, 15:46

Postitus Postitas asjameez »

ldd Engine
./Engine: /usr/lib32/mesa/libGL.so.1: no version information available (required by ./Engine)
linux-gate.so.1 => (0xf7756000)
libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7612000)
libXxf86vm.so.1 => /usr/lib32/libXxf86vm.so.1 (0xf760c000)
libGL.so.1 => /usr/lib32/mesa/libGL.so.1 (0xf75a6000)
libGLU.so.1 => /usr/lib32/libGLU.so.1 (0xf7535000)
libjpeg.so.62 => /usr/lib32/libjpeg.so.62 (0xf7514000)
libpng.so.3 => not found
libz.so.1 => /usr/lib32/libz.so.1 (0xf74ff000)
libdl.so.2 => /lib32/libdl.so.2 (0xf74fa000)
libogg.so.0 => /usr/lib32/libogg.so.0 (0xf74f3000)
libvorbis.so.0 => /usr/lib32/libvorbis.so.0 (0xf74ca000)
libvorbisfile.so.3 => /usr/lib32/libvorbisfile.so.3 (0xf74c1000)
libmad.so.0 => /usr/lib32/libmad.so.0 (0xf74aa000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7491000)
libstdc++.so.5 => not found
libm.so.6 => /lib32/libm.so.6 (0xf746a000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf744b000)
libc.so.6 => /lib32/libc.so.6 (0xf72f1000)
libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf72d7000)
libXext.so.6 => /usr/lib32/libXext.so.6 (0xf72c6000)
libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf72c2000)
libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf72bc000)
libdrm.so.2 => /lib32/libdrm.so.2 (0xf72b1000)
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf71bb000)
/lib/ld-linux.so.2 (0xf7757000)
libXau.so.6 => /usr/lib32/libXau.so.6 (0xf71b6000)
libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf71b0000)
librt.so.1 => /lib32/librt.so.1 (0xf71a7000)
Programm ise: http://frustum.unigine.com/3d/download. ... 0.2.tar.gz
"Dumbusers use Windows. Powerusers use Linux. Dumbusers who think they are powerusers use Mac."
Kasutaja avatar
andreas
Pingviini aktivist
Pingviini aktivist
Postitusi: 112
Liitunud: 26.02.2008, 13:03

Postitus Postitas andreas »

asjameez kirjutas:

Kood: Vali kõik

libpng.so.3 => not found
libstdc++.so.5 => not found
paigalda libpng libstdc++5
Kasutaja avatar
mihkel
Vana Pingviin
Vana Pingviin
Postitusi: 1284
Liitunud: 16.04.2006, 13:08

Postitus Postitas mihkel »

Strace on üks äraütlemata hea programmijupike. Ütleb ära, mida kust otsitakse:

Kood: Vali kõik

root /home/mihkel/Desktop/Engine_v0.2:# strace ./Engine
execve("./Engine", ["./Engine"], [/* 39 vars */]) = 0
brk(0)                                  = 0x855c000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7767000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=78840, ...}) = 0
mmap2(NULL, 78840, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7753000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/libX11.so.6", O_RDONLY)  = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300f\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=1163048, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7752000
mmap2(NULL, 1167060, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7635000
mmap2(0xb774e000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x118) = 0xb774e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/libXxf86vm.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\f\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=16248, ...}) = 0
mmap2(NULL, 19040, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7630000
mmap2(0xb7634000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0xb7634000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/libGL.so.1", O_RDONLY)   = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@6\1\0004\0\0\0"..., 512) = 512
lseek(3, 365340, SEEK_SET)              = 365340
read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\4\0\0\0\24\0\0\0", 32) = 32
fstat64(3, {st_mode=S_IFREG|0644, st_size=401528, ...}) = 0
mmap2(NULL, 410464, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb75cb000
mmap2(0xb7625000, 36864, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x59) = 0xb7625000
mmap2(0xb762e000, 4960, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb762e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/libGLU.so.1", O_RDONLY)  = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340+\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=454800, ...}) = 0
mmap2(NULL, 457548, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb755b000
mmap2(0xb75ca000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6e) = 0xb75ca000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/libjpeg.so.62", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20'\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=127964, ...}) = 0
mmap2(NULL, 130688, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb753b000
mmap2(0xb755a000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e) = 0xb755a000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686/cmov", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686", 0xbf8a1f40)     = -1 ENOENT (No such file or directory)
open("/lib/tls/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/cmov", 0xbf8a1f40)     = -1 ENOENT (No such file or directory)
open("/lib/tls/libpng.so.3", O_RDONLY)  = -1 ENOENT (No such file or directory)
stat64("/lib/tls", 0xbf8a1f40)          = -1 ENOENT (No such file or directory)
open("/lib/i686/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686/cmov", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/lib/i686/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/lib/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/cmov", 0xbf8a1f40)         = -1 ENOENT (No such file or directory)
open("/lib/libpng.so.3", O_RDONLY)      = -1 ENOENT (No such file or directory)
stat64("/lib", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
open("/usr/lib/tls/i686/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686/cmov", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/i686/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/cmov", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls", 0xbf8a1f40)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686/cmov", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/i686/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/cmov", 0xbf8a1f40)     = -1 ENOENT (No such file or directory)
open("/usr/lib/libpng.so.3", O_RDONLY)  = -1 ENOENT (No such file or directory)
stat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=81920, ...}) = 0
open("/lib/i486-linux-gnu/tls/i686/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i486-linux-gnu/tls/i686/cmov", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/lib/i486-linux-gnu/tls/i686/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i486-linux-gnu/tls/i686", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/lib/i486-linux-gnu/tls/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i486-linux-gnu/tls/cmov", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/lib/i486-linux-gnu/tls/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i486-linux-gnu/tls", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/lib/i486-linux-gnu/i686/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i486-linux-gnu/i686/cmov", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/lib/i486-linux-gnu/i686/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i486-linux-gnu/i686", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/lib/i486-linux-gnu/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i486-linux-gnu/cmov", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/lib/i486-linux-gnu/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i486-linux-gnu", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/usr/lib/i486-linux-gnu/tls/i686/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i486-linux-gnu/tls/i686/cmov", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/usr/lib/i486-linux-gnu/tls/i686/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i486-linux-gnu/tls/i686", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/usr/lib/i486-linux-gnu/tls/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i486-linux-gnu/tls/cmov", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/usr/lib/i486-linux-gnu/tls/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i486-linux-gnu/tls", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/usr/lib/i486-linux-gnu/i686/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i486-linux-gnu/i686/cmov", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/usr/lib/i486-linux-gnu/i686/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i486-linux-gnu/i686", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/usr/lib/i486-linux-gnu/cmov/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i486-linux-gnu/cmov", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
open("/usr/lib/i486-linux-gnu/libpng.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i486-linux-gnu", 0xbf8a1f40) = -1 ENOENT (No such file or directory)
writev(2, [{"./Engine", 8}, {": ", 2}, {"error while loading shared libra"..., 36}, {": ", 2}, {"libpng.so.3", 11}, {": ", 2}, {"cannot open shared object file", 30}, {": ", 2}, {"No such file or directory", 25}, {"\n", 1}], 10./Engine: error while loading shared libraries: libpng.so.3: cannot open shared object file: No such file or directory
) = 119
exit_group(127)                         = ?
root /home/mihkel/Desktop/Engine_v0.2:#

Näiteks see rida:

Kood: Vali kõik

open("/usr/lib/libpng.so.3", O_RDONLY)  = -1 ENOENT (No such file or directory)
Tuleb luua lihtsalt sümboolne link ja asi valmis.

Kood: Vali kõik

ln -s /usr/lib/libpng12.so /usr/lib/libpng.so.3
Lisaks veel on puudu libstdc++5

Kood: Vali kõik

aptitude install libstdc++5
Nüüd peaks töötama.
Kasutaja avatar
asjameez
Vana Pingviin
Vana Pingviin
Postitusi: 428
Liitunud: 09.03.2007, 15:46

Postitus Postitas asjameez »

Tänud mihkel, et andsid suuna ette!

Käsitsi tuli tõmmata ja kopida 32-bit libpng ja libstdc++5 /usr/lib32 kataloogi.
Nüüd üritab programm vähemalt end käima tõmmata saades mõned opengl errorid.
Vanade programmide tööle saamine võib olla tõeline katsumus...
"Dumbusers use Windows. Powerusers use Linux. Dumbusers who think they are powerusers use Mac."
Kasutaja avatar
sander85
Vana Pingviin
Vana Pingviin
Postitusi: 4361
Liitunud: 08.08.2005, 03:00

Postitus Postitas sander85 »

tegelikult peaks pakihalduris olema olemas ka 32-bitiste teekide repo või vähemalt pakk 32-bitiste teekidega.. vähemalt mandrival on küll nii ja minuteada ka debianil..
Pilt Pilt Pilt
Vasta