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

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


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.