Проблеми з установкою делегата PNG ImageMagick


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 у власну папку, потім: Ran налаштувати, зробити, встановити (немає повідомлень про помилки)

Тепер, коли я намагаюсь перекомпілювати Imagemagick, він все ще говорить "Перевірка PNG ... ні", а --with-png значення має "ні" (навіть якщо я налаштовую його за допомогою --with-png = так).

Не впевнений, що я роблю неправильно?

Спроба перекомпілювати чат за допомогою:

root @ usve59445: ~ / im / ImageMagick-6.9.3-7 # ./configure --enable-shared = так --with-png = так 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

Встановлено libpng через це також: apt-get install libpng12-0 - все одно отримуємо таку ж перевірку PNG ... ні (делегата не знайдено). Встановлено libjpeg62 через apt-get, зробив перекомпіляцію чату, і він успішно відображається у списку делегатів - просто PNG не працює !!
гванто

Вам потрібно встановити -devпакети ( libpng12-devможливо) для створення програмного забезпечення з бібліотекою.
муру

Привіт Муру, спасибі вже це зробив, не працюючи. Намагаючись використовувати параметр --x-library, як це зробив цей хлопець: stackoverflow.com/questions/28237800/… Але "locate libpng" дає мені безліч різних локацій (додано до питання вище), не впевнений, який саме я повинен використовувати ? (спробували декілька, жоден з яких, здається, не збирає PNG в чаті).
гванто

На це зараз витратили багато годин, не пощастивши. Готовий надіслати PayPal у розмірі 50 доларів для кожного, хто отримав (робочу) пораду
гванто

Відповіді:


19

Ви робите щось занадто важко для себе, ось швидкий і брудний посібник, який добре пройшов для мене на Trusty Tahr:

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

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

Це не зовсім вловлює все, тому активуйте джерельні сховища, натиснувши тут «Код соуса»:

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, якого ви пропустили :).


1
Це працює, велике спасибі andrew.46 !!!! Який ваш електронний лист Paypal? (можна, якщо можливо, надіслати через приватний чат)
gvanto

2
Приємно чути, що це все працює! Я не хочу грошей, я вважаю за краще це робити з відкритим кодом, але дякую за думку :).
andrew.46

1
через години інших "відповідей" ця нарешті спрацювала для мене. Я думаю, що критичною частиною для мене були відомі залежності і sudo apt-get build-dep imagemagick. Спасибі!
Скотт Юнгвірт

@ScottJungwirth Чудова новина! Я не перевіряв тонку відповідь деякий час, але бачу, невеликий потік редакторів натрапив на версію :)
andrew.46

Спасибі - це здебільшого спрацювало. Однак деякі помилки повідомляються на 32-розрядному Linux Mint. Тому я виконував команди && з ланцюжками в одних рядках. Мені здається божевільним, як важко було / це отримати Imagemagick в стані, коли він може зробити трохи корисної роботи ...
RBV
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.