
version ZLIB_1.2.9 required by /usr/local/lib/libpng16.so.16 not found
ОС FreeBSD 10.x
После очередного обновления пакетов получил вот такую вот ошибку:
# php -vPHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20131226/gd.so' - /lib/libz.so.6: version ZLIB_1.2.9 required by /usr/local/lib/libpng16.so.16 not found in Unknown on line 0
Посмотреть подробную информацию можно так:
# objdump -x /lib/libz.so.6 | grep ZLIB2 0x00 0x07e5cf30 ZLIB_1.2.4.0
3 0x00 0x053ecdd0 ZLIBprivate_1.0
ZLIB_1.2.4.0
4 0x00 0x07e5c230 ZLIB_1.2.7.0
ZLIB_1.2.4.0
5 0x00 0x07e5c231 ZLIB_1.2.7.1
ZLIB_1.2.7.0
ZLIB_1.2.4.0
# objdump -x /usr/local/lib/libpng16.so | grep ZLIB
0x0827e5c9 0x00 06 ZLIB_1.2.9
0x07e5cf30 0x00 04 ZLIB_1.2.4.0
т.е. libpng хочет ZLIB_1.2.9, которого нет в /lib/libz.so
Существует два варианта решения проблемы:
1. Обновить ОС FreeBSD 10.х до 11
2. Откатить версию libpng на предыдущую:
Текущая версия libpng
# pkg which /usr/local/lib/libpng16.so/usr/local/lib/libpng16.so was installed by package png-1.6.34
Смотрим список предыдущих версий:
# ls -l /var/cache/pkg/png-1.6*-rw-r--r-- 1 root wheel 278392 Mar 23 2017 /var/cache/pkg/png-1.6.29-42589b370b.txz
lrwxr-xr-x 1 root wheel 25 Apr 3 2017 /var/cache/pkg/png-1.6.29.txz -> png-1.6.29-42589b370b.txz
-rw-r--r-- 1 root wheel 280816 May 10 04:07 /var/cache/pkg/png-1.6.34-3b6e031070.txz
lrwxr-xr-x 1 root wheel 25 Jul 28 11:02 /var/cache/pkg/png-1.6.34.txz -> png-1.6.34-3b6e031070.txz
Ставим предыдущую версию:# pkg install /var/cache/pkg/png-1.6.29.txz