
Мне нужно было запустить libpng
утилиту Ubuntu convert
, и когда я это сделал, я получил сообщение об ошибке, что моя версия libpng
устарела и ее нужно обновить. Поэтому я пошел обычным путем apt-get install
, но по причинам, которые я уже не помню, это не решило проблему. Вот тут-то все и запуталось.
Я скачал исходный код для libpng
, сделал make и make install. Хотя в /usr/local/lib
, convert now сообщает:
convert: error while loading shared libraries: libpng.so.2: cannot open shared object file: No such file or directory
По совету полезного человека на StackExchange я попробовал apt-get install
еще раз, пытаясь получить и установить пакеты libpng12-dev
и libpng12-0
. Однако обе попытки привели к сообщениям
libpng12-dev is already the newest version
libpng12-0 is already the newest version
...и поэтому ничего не было установлено. Вероятно, мои неуклюжие попытки сделать исходники все испортили. Есть ли способ все почистить? Например, установить старую версию libpng, а затем установить последнюю версию?
Позже:
По совету Догберта я проконсультировался со статьей наhttps://www.debian-administration.org/article/176/Переустановка_пакетов_для_исправления_проблеми обнаружил, что могу принудительно удалить пакет, не удаляя при этом все зависимые пакеты:
dpkg --purge --force-depends libpng12-0
Итак, я сделал это, а затем переустановил libpng12-0
. Однако convert
все еще сообщает о той же ошибке. Хорошо, возможно, мне нужно переустановить, convert
так как, возможно, libpng12-0
библиотека находится не там, где она должна быть. convert
является частью imagemagick
, поэтому я удалил ее. Однако, convert
все еще был доступен в командной строке, поэтому удаление imagemagick
не избавляет от него. Переустановил imagemagick
. Тот же результат: convert
все еще жалуется, что не может найти libpng.so.2
.
Просмотрел весь жесткий диск и не обнаружил, что libpng.so*
нигде нет файла. Видимо, установка пакета не создает нужный файл.
решение1
libpng.so.2 должна быть общей библиотекой для libpng-1.0.x (текущая версия 1.0.63). У вас есть "convert" (часть imagemagick), которая, по-видимому, была собрана с libpng-1.0.x, поэтому вам нужно удалить и переустановить imagemagick через apt-get. Как только это заработает, вы можете снова попробовать установить более новую версию imagemagick с imagemagick.org, которая должна нормально работать с libpng12.