[Comm] symbol png_create_read_struct, version PNG12_0 not defined in file libpng12.so.0 with link time reference
Denis G. Samsonenko
=?iso-8859-1?q?d=2Eg=2Esamsonenko_=CE=C1_gmail=2Ecom?=
Вс Окт 5 08:07:20 MSD 2008
День добрый!
5 октября 2008 г. 8:13 Alexey Borovskoy написал:
>> Вот и хочется прояснить для себя, почему на одних и тех же
>> версиях библиотек, но от разных вендоров проявляется такое
>> поведение, что в одном случае прога запускается, а в другом
>> нет. Это какие-то особенности альтовской сборки?
>
> ldd закрытый_бинарник
$ ldd VESTA
linux-gate.so.1 => (0xffffe000)
libGL.so.1 => /usr/lib/libGL.so.1 (0xb7f22000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0xb7ea0000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7aee000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb7a5b000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb7a41000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb7a07000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb79ce000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb79ca000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb790f000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb790c000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0xb7906000)
libSM.so.6 => /usr/lib/libSM.so.6 (0xb78fe000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb78da000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb78bb000)
libtiff.so.3 => /usr/local/lib/libtiff.so.3 (0xb7877000)
libz.so.1 => /lib/libz.so.1 (0xb7863000)
libdl.so.2 => /lib/libdl.so.2 (0xb785e000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb77a4000)
libm.so.6 => /lib/libm.so.6 (0xb777e000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7773000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb775d000)
libc.so.6 => /lib/libc.so.6 (0xb7637000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb7548000)
libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0xb6bb0000)
libnvidia-tls.so.1 => /usr/lib/libnvidia-tls.so.1 (0xb6bae000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb6ba0000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb6aba000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb6ab1000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb6aac000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb6a92000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb6a8f000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb6a17000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb69eb000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb69e3000)
libXi.so.6 => /usr/lib/libXi.so.6 (0xb69db000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb69d5000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb69cc000)
librt.so.1 => /lib/librt.so.1 (0xb69c3000)
libICE.so.6 => /usr/lib/libICE.so.6 (0xb69ac000)
/lib/ld-linux.so.2 (0x80000000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb69a9000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb69a4000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb697a000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb68ff000)
libdirectfb-0.9.so.25 => /usr/lib/libdirectfb-0.9.so.25 (0xb68b0000)
libdirect-0.9.so.25 => /usr/lib/libdirect-0.9.so.25 (0xb68a2000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb6882000)
libfusion-0.9.so.25 => /usr/lib/libfusion-0.9.so.25 (0xb687c000)
Вообще это не первый случай, когда какая-нибудь прога не из
репозитария не хочет работать с альтовским libpng12. Например, oolite,
поставленный из oolite-1.71.2.x86.package ругается так:
./oolite: relocation error: ./oolite: symbol png_create_read_struct,
version PNG12_0 not defined in file libpng12.so.0 with link time
reference
После того, как смог запустить таки VESTA, понял, как запустить
oolite. В ~/.local/lib/Oolite/oolite-deps/lib лежит
libpng12.so.0.29.0, а ссылки на него libpng12.so.0 нету, вот он и
цепляет системный libpng12, с которым работать отказывается.
Сейчас уже не вспомню, но были у меня и другие похожие случаи отказа
работать скаченных из И-нета прог с альтовской libong12.
Я не хочу сказать, что в альте плохо собирают libong12, просто мне
интересно, в чём конкретно разница, что приводит к отторжению этой
либы сторонними бинарниками, в то время как из федоры, например, эта
же либа той же версии нормально принимается данным бинарником. Что это
за магическое "version PNG12_0", встающее камнем предкновения?
--
Всего доброго,
Денис.
Подробная информация о списке рассылки community