Проблемы с установкой делегата в ImageMagick PNG

11

Ubuntu 14.04:

Я скачал и установил последний источник imagemagick, используя опцию ниже для настройки:

root@usve59445:~/im/ImageMagick-6.9.3-7# ./configure --enable-shared --with-png=yes

Однако после установки в моем встроенном списке делегатов ноль элементов:

root@usve59445:~/im/ImageMagick-6.9.3-7# identify -version
Version: ImageMagick 6.9.3-7 Q16 x86_64 2016-03-14
Copyright: Copyright (C) 1999-2016 ImageMagick Studio LLC License:  
Features: Cipher DPC OpenMP
Delegates (built-in):

Проблема, которую я получаю, это «нет делегата для формата PNG найдено» при выполнении convertкоманды.

Я установил делегата libpng с: http://www.imagemagick.org/download/delegates/

Извлеките libpng1621.tar.gz в его собственную папку, затем: запустите configure, make, make install (без сообщений об ошибках)

Теперь, когда я пытаюсь перекомпилировать imagemagick, он по-прежнему говорит «Проверка на наличие PNG ... нет», а значение --with-png имеет значение «нет» (хотя я настраиваю его с помощью --with-png = yes).

Не уверен, что я делаю не так?

Попытка перекомпилировать IM, используя:

root @ usve59445: ~ / im / ImageMagick-6.9.3-7 # ./configure --enable-shared = yes --with-png = yes LDFLAGS = '- L / usr / local / lib' LIBS = -lpng16

думаю, что я использую правильные LDFLAGS, но не уверен)

root@usve59445:~/im/libpng-1.6.21# libpng16-config --L_opts
-L/usr/local/lib 

root@usve59445:~/im/libpng-1.6.21# libpng16-config --libs
-lpng16


root@usve59445:~/im/libpng-1.6.21# locate libpng
/lib/x86_64-linux-gnu/libpng12.so.0
/lib/x86_64-linux-gnu/libpng12.so.0.46.0
/usr/bin/libpng-config
/usr/bin/libpng12-config
/usr/include/libpng
/usr/include/libpng12
/usr/include/libpng12/png.h
/usr/include/libpng12/pngconf.h
/usr/lib/x86_64-linux-gnu/libpng.a
/usr/lib/x86_64-linux-gnu/libpng.so
/usr/lib/x86_64-linux-gnu/libpng.so.3
/usr/lib/x86_64-linux-gnu/libpng12.a
/usr/lib/x86_64-linux-gnu/libpng12.so
/usr/lib/x86_64-linux-gnu/libpng12.so.0
/usr/lib/x86_64-linux-gnu/pkgconfig/libpng.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/libpng12.pc
/usr/local/bin/libpng-config
/usr/local/bin/libpng16-config
/usr/local/include/libpng16
/usr/local/include/libpng16/png.h
/usr/local/include/libpng16/pngconf.h
/usr/local/include/libpng16/pnglibconf.h
/usr/local/lib/libpng.a
/usr/local/lib/libpng.la
/usr/local/lib/libpng.so
/usr/local/lib/libpng16.a
/usr/local/lib/libpng16.la
/usr/local/lib/libpng16.so
/usr/local/lib/libpng16.so.16
/usr/local/lib/libpng16.so.16.21.0
/usr/local/lib/pkgconfig/libpng.pc
/usr/local/lib/pkgconfig/libpng16.pc
/usr/local/share/man/man3/libpng.3
/usr/local/share/man/man3/libpngpf.3
/usr/share/doc/libpng12-0
/usr/share/doc/libpng12-dev
/usr/share/doc/libpng3
/usr/share/doc/libpng12-0/ANNOUNCE
/usr/share/doc/libpng12-0/KNOWNBUG
/usr/share/doc/libpng12-0/README.Debian
/usr/share/doc/libpng12-0/README.gz
/usr/share/doc/libpng12-0/TODO
/usr/share/doc/libpng12-0/changelog.Debian.gz
/usr/share/doc/libpng12-0/copyright
/usr/share/doc/libpng12-0/libpng-1.2.46.txt.gz
/usr/share/doc/libpng12-dev/changelog.Debian.gz
/usr/share/doc/libpng12-dev/copyright
/usr/share/doc/libpng12-dev/examples
/usr/share/doc/libpng12-dev/examples/example.c.gz
/usr/share/doc/libpng12-dev/examples/pngtest.c.gz
/usr/share/doc/libpng12-dev/examples/pngtest.png
/usr/share/doc-base/libpng12
/usr/share/man/man1/libpng-config.1.gz
/usr/share/man/man1/libpng12-config.1.gz
/usr/share/man/man3/libpng.3.gz
/var/cache/apt/archives/libpng12-0_1.2.46-3ubuntu4.2_amd64.deb
/var/cache/apt/archives/libpng12-dev_1.2.46-3ubuntu4.2_amd64.deb
/var/cache/apt/archives/libpng3_1.2.46-3ubuntu4.2_amd64.deb
/var/lib/dpkg/info/libpng12-0:amd64.list
/var/lib/dpkg/info/libpng12-0:amd64.md5sums
/var/lib/dpkg/info/libpng12-0:amd64.postinst
/var/lib/dpkg/info/libpng12-0:amd64.postrm
/var/lib/dpkg/info/libpng12-0:amd64.shlibs
/var/lib/dpkg/info/libpng12-dev.list
/var/lib/dpkg/info/libpng12-dev.md5sums
/var/lib/dpkg/info/libpng3:amd64.list
gvanto
источник
Также устанавливается через libpng: apt-get install libpng12-0 - Все еще проверяется PNG ... нет (делегат не найден). Установил libjpeg62 через apt-get, сделал перекомпиляцию IM и он успешно отображается в списке делегатов - просто PNG не работает !!
Гванто
Вы должны установить -devпакеты ( libpng12-devвозможно) для сборки программного обеспечения с библиотекой.
Муру
Привет Муру, спасибо, уже сделал это, не работает. Попытка использовать опцию --x-library, как это сделал этот парень: stackoverflow.com/questions/28237800/… Но «locate libpng» дает мне много разных мест (добавлено в вопрос выше), не уверен, какой из них мне следует использовать ? (попробовал несколько, ни один из которых, кажется, не скомпилировал PNG в IM).
Гванто
Потратил много часов на это сейчас без удачи. Готов отправить PayPal в размере $ 50 для всех, кто (рабочий) совет
gvanto

Ответы:

19

Вы делаете вещи слишком сложными для себя, вот быстрое и грязное руководство, которое хорошо для меня работает на Трасти Тар:

Сначала подберите несколько известных зависимостей:

sudo apt-get install build-essential checkinstall \
             libx11-dev libxext-dev zlib1g-dev libpng12-dev \
             libjpeg-dev libfreetype6-dev libxml2-dev

Это не совсем улавливает все, поэтому активируйте репозитории Source, нажав на «Souce Code» здесь:

Dash >> Software & Updates >> Source Code

а затем запустить следующее:

sudo apt-get build-dep imagemagick

Создайте папку сборки и измените на нее:

mkdir $HOME/imagemagick_build && cd $HOME/imagemagick_build

И, наконец, загрузите, распакуйте, скомпилируйте и установите, просто скопировав и вставив весь приведенный ниже код в окно терминала:

wget https://www.imagemagick.org/download/ImageMagick-7.0.8-28.tar.bz2 && \
tar xvf ImageMagick-7.0.8-28.tar.bz2 && cd ImageMagick-7.0.8-28 && ./configure && make && \
sudo checkinstall -D --install=yes --fstrans=no --pakdir "$HOME/imagemagick_build" \
     --pkgname imagemagick --backup=no --deldoc=yes --deldesc=yes --delspec=yes --default \
     --pkgversion "7.0.8-28" && \
make distclean && sudo ldconfig

И, наконец, проверьте это, особенно ища png, который вам не хватает в вашей собственной установке:

andrew@corinth:~$ identify -version
Version: ImageMagick 7.0.5-10 Q16 x86_64 2017-06-05 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC OpenMP 
Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jpeg lcms lqr lzma openexr pangocairo png tiff wmf x xml zlib
andrew@corinth:~$ 

И есть опция png, которую вы пропустили :).

andrew.46
источник
1
Это работает, спасибо большое Андрей.46 !!!! Какой ваш PayPal адрес электронной почты? (можно отправить через личный чат, если это возможно)
gvanto
2
Приятно слышать, что все это работает! Я не хочу денег, я предпочитаю делать это как вещь с открытым исходным кодом, но спасибо за мысль :).
Андрей.46
1
после нескольких часов других «ответов» этот, наконец, сработал для меня. Я думаю, что важной частью для меня были известные зависимости и sudo apt-get build-dep imagemagick. Благодарность!
Скотт
@ ScottJungwirth Отличная новость! Некоторое время я не проверял тонкий ответ, но вижу небольшой поток редакторов,
поднимающих
Спасибо - это в основном сработало. Еще о некоторых ошибках сообщалось в Linux Mint 32-bit. Поэтому я выполнил команды && в одной строке. Мне кажется безумным, насколько трудно / было получить имиджемик в состоянии, когда он может сделать немного полезной работы ...
RBV