1

Мне нужно было запустить утилиту Ubuntu libpng для convert , и когда я это сделал, я получил сообщение об ошибке, что моя версия libpng устарела и ее пришлось обновить. Итак, я пошел обычным путем установки apt-get install , но по причинам, которые я больше не помню, это не решило проблему. Здесь все стало грязно.

Я скачал исходный код для libpng , сделал make и make install. Хотя совместно используемая библиотека была создана в /usr/local/lib , конвертируйте сейчас отчеты:

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/Reinstall_packages_to_fix_problems и обнаружил, что могу принудительно удалить пакет, не удаляя также все зависимые пакеты:

dpkg --purge --force-depends libpng12-0

Итак, я сделал это, а затем переустановил libpng12-0 . Тем не менее, convert все еще сообщает об этой же ошибке. Хорошо, возможно, мне нужно переустановить convert так как, возможно, библиотека libpng12-0 находится не там, где ожидается. convert является частью imagemagick , поэтому я удалил ее. Тем не менее, convert прежнему было доступно в командной строке, поэтому удаление imagemagick этого не избавится. imagemagick . Те же результаты: convert все еще жалуется, что не может найти libpng.so.2 .

Обыскал весь жесткий диск и обнаружил, что нигде нет файла libpng.so* . Очевидно, установка пакета не создает необходимый файл.

1 ответ1

0

Предполагается, что libpng.so.2 является общей библиотекой для libpng-1.0.x (текущая версия 1.0.63). У вас есть "convert" (часть imagemagick), которая, очевидно, была построена с помощью libpng-1.0.x, поэтому вам нужно удалить и переустановить imagemagick через apt-get. Как только это сработает, вы можете попробовать еще раз установить более новую версию imagemagick, с imagemagick.org, которая должна нормально работать с libpng12.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .