У мене виникла потреба запустити libpngутиліту Ubuntu convert, і коли я зробив повідомлення про помилку, що моя версія libpngзастаріла і її потрібно було оновити. Отже, я пішов звичайним маршрутом apt-get install, але з причин, яких зараз уже не пам’ятаю, це не вирішило проблеми. Тут дещо заплуталося.
Я завантажив джерело для libpng, зробив make і встановив make. Поки була створена спільна бібліотека /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/Reinstalling_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*ніде не існує. Очевидно, що встановлення пакету не створює потрібного файлу.