Problemas de instalação do delegado PNG do ImageMagick

11

Ubuntu 14.04:

Fiz o download da fonte mais recente do imagemagick e instalei, usando a opção abaixo para configurar:

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

Após a instalação, no entanto, tenho zero itens na minha lista interna de delegados:

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

O problema que estou recebendo é 'nenhum representante para o formato PNG encontrado' ao executar um convertcomando.

Instalei o delegado libpng em: http://www.imagemagick.org/download/delegates/

Extraiu o libpng1621.tar.gz para sua própria pasta e:

Agora, quando tento recompilar o imagemagick, ele ainda diz 'Verificando PNG ... no' e o valor --with-png tem 'no' (embora eu o configure com --with-png = yes).

Não sabe o que estou fazendo de errado?

Tentando recompilar o IM usando:

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

( Acho que estou usando o LDFLAGS correto, mas não tenho certeza)

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
fonte
Instalou a libpng também: apt-get install libpng12-0 - Continua recebendo a mesma verificação PNG ... não (nenhum representante encontrado). O libjpeg62 instalado via apt-get, recompilou o IM e ele aparece com êxito na lista de delegados - apenas o PNG não funciona !!
gvanto
Você precisa instalar os -devpacotes ( libpng12-devtalvez) para criar software com uma biblioteca.
Muru
Oi muru, obrigado já fez isso, não está funcionando. Tentando usar a opção --x-libraries como esse cara fez: stackoverflow.com/questions/28237800/… Mas 'localizar libpng' me oferece vários locais diferentes (adicionados à pergunta acima), sem saber qual deles devo usar ? (tentei alguns, nenhum dos quais parece obter PNG compilado no IM).
gvanto
Passou muitas horas nisso agora sem sorte. Dispostos a enviar um paypal de US $ 50 para qualquer pessoa com um conselho (de trabalho)
gvanto

Respostas:

19

Você está tornando as coisas um pouco difíceis demais para você, aqui está um guia rápido e sujo que correu bem para mim no Trusty Tahr:

Primeiro, pegue algumas dependências conhecidas:

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

Isso não pega tudo, então ative os repositórios de fontes clicando em 'Souce Code' aqui:

Dash >> Software & Updates >> Source Code

e executando o seguinte:

sudo apt-get build-dep imagemagick

Crie uma pasta de construção e mude para ela:

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

E, finalmente, faça o download, extraia, compile e instale simplesmente copiando e colando toda a caixa de código abaixo em uma janela do 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

E, finalmente, teste isso, procurando especialmente o png que está faltando em sua própria instalação:

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

E há a opção png que você estava perdendo :).

andrew.46
fonte
1
Isso funciona, muito obrigado andrew.46 !!!! Qual é o seu email paypal? (pode enviar via IM privado se possível)
gvanto
2
É bom saber que tudo funciona! Eu não quero dinheiro, prefiro fazer isso como uma coisa de código aberto, mas obrigado pelo pensamento :).
andrew.46
1
depois de horas de outras "respostas", esta finalmente funcionou para mim. Eu acho que a parte crítica para mim foram as dependências conhecidas e sudo apt-get build-dep imagemagick. Obrigado!
9119 Scott Scorsett,
@ScottJungwirth Ótimas notícias! Eu não testei essa resposta por um tempo, mas vejo que um pequeno fluxo de editores está colidindo com a versão :)
andrew
Obrigado - isso funcionou principalmente. Ainda existem alguns erros relatados no Linux Mint de 32 bits. Então eu executei os comandos && encadeados em linhas únicas. Parece insano para mim como foi difícil / é obter imagemagick em um estado onde ele pode fazer um pouco de trabalho útil ...
RBV