ImageMagick, delegasi PNG menginstal masalah

11

Ubuntu 14.04:

Saya telah mengunduh sumber imagemagick terbaru dan menginstal, menggunakan opsi di bawah ini untuk mengonfigurasi:

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

Namun setelah instalasi, saya tidak memiliki item dalam daftar delegasi bawaan saya:

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):

Masalah yang saya dapatkan adalah 'tidak ada delegasi untuk format PNG ditemukan' ketika melakukan convertperintah.

Saya menginstal delegasi libpng dari: http://www.imagemagick.org/download/delegates/

Mengekstrak libpng1621.tar.gz ke dalam foldernya sendiri, lalu: Ran configure, make, make install (tidak ada pesan kesalahan)

Sekarang ketika saya mencoba dan mengkompilasi ulang imagemagick, masih tertulis 'Memeriksa PNG ... tidak' dan --dengan nilai png memiliki 'tidak' (walaupun saya mengkonfigurasinya dengan --with-png = ya).

Tidak yakin apa yang saya lakukan salah?

Mencoba mengkompilasi ulang IM menggunakan:

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

(Saya pikir saya menggunakan LDFLAGS yang benar, tetapi tidak yakin)

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
sumber
Diinstal libpng melalui ini juga: apt-get install libpng12-0 - Masih mendapatkan pemeriksaan PNG yang sama ... tidak (tidak ada delegasi ditemukan). Menginstal libjpeg62 melalui apt-get, melakukan kompilasi ulang IM dan tampaknya berhasil dalam daftar delegasi - hanya PNG tidak berfungsi !!
gvanto
Anda harus menginstal -devpaket ( libpng12-dev, mungkin), untuk membangun perangkat lunak dengan perpustakaan.
muru
Hai muru, terima kasih sudah melakukannya, tidak bekerja. Mencoba menggunakan opsi --x-libraries seperti yang dilakukan orang ini: stackoverflow.com/questions/28237800/… Tapi 'temukan libpng' memberi saya banyak lokasi berbeda (ditambahkan ke pertanyaan di atas), tidak yakin yang mana yang harus saya gunakan ? (telah mencoba beberapa, tidak ada yang tampaknya mendapatkan PNG dikompilasi ke dalam IM).
gvanto
Menghabiskan banyak waktu untuk hal ini sekarang tanpa hasil. Bersedia mengirim paypal $ 50 untuk siapa pun dengan saran (yang bekerja)
gvanto

Jawaban:

19

Anda membuat hal-hal sedikit terlalu sulit untuk diri Anda sendiri, berikut adalah panduan cepat dan kotor yang berjalan dengan baik untuk saya di Trusty Tahr:

Pertama ambil beberapa dependensi yang diketahui:

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

Ini tidak cukup menangkap semuanya jadi aktifkan repositori Sumber dengan mengklik 'Kode Souce' di sini:

Dash >> Software & Updates >> Source Code

dan kemudian jalankan yang berikut ini:

sudo apt-get build-dep imagemagick

Buat folder build dan ubah menjadi:

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

Dan akhirnya unduh, ekstrak, kompilasi, dan instal hanya dengan menyalin dan menempelkan seluruh kotak kode di bawah ini ke jendela Terminal:

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

Dan akhirnya uji ini, mencari png yang Anda lewatkan pada instalasi Anda sendiri:

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:~$ 

Dan ada opsi png yang Anda lewatkan :).

andrew.46
sumber
1
Ini bekerja, terima kasih banyak andrew.46 !!!! Apa email paypal kamu? (dapat mengirim via IM pribadi jika memungkinkan)
gvanto
2
Senang mendengar bahwa semuanya bekerja! Saya tidak ingin uang, saya lebih suka melakukan ini sebagai Open Source tetapi terima kasih atas pemikirannya :).
andrew.46
1
setelah berjam-jam "jawaban" lainnya yang satu ini akhirnya berhasil untuk saya. Saya pikir bagian penting bagi saya adalah dependensi yang dikenal dan sudo apt-get build-dep imagemagick. Terima kasih!
Scott Jungwirth
@ScottJungwirth Berita bagus! Saya belum menguji jawaban thins untuk sementara waktu tetapi saya melihat aliran kecil editor telah menabrak versi :)
andrew.46
Terima kasih - ini sebagian besar berhasil. Masih ada beberapa kesalahan yang dilaporkan di Linux Mint 32-bit. Jadi saya melakukan perintah && dirantai pada satu baris. Tampaknya gila bagi saya betapa sulitnya / mendapatkan imagemagick dalam keadaan di mana ia dapat melakukan sedikit pekerjaan yang bermanfaat ...
RBV