Como instalar bibliotecas delegadas para Image Magick 7.0.7

Como instalar bibliotecas delegadas para Image Magick 7.0.7

Eu construí o Image Magick 7.0.7 a partir do código-fonte em meu sistema Ubuntu 18.04.* Digitar magick identify -versionno terminal agora retorna

Version: ImageMagick 7.0.7-37 Q16 x86_64 2018-05-31 https://www.imagemagick.org
Copyright: © 1999-2018 ImageMagick Studio LLC
License: https://www.imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP 
Delegates (built-in): 

Ele não tem delegados instalados e agora preciso fazê-lo funcionar com tipos de arquivos comuns como .jpg, .png e .tif. Eu usei ./configure --enable-shared, mas mesmo assim esses formatos estão faltando. No entanto, claramente existem bibliotecas compartilhadas no meu sistema para elas.

As entradas de configuração da biblioteca delegada para os formatos que mais me preocupam são confusas:

  JPEG v1           --with-jpeg=yes     no
  OpenEXR           --with-openexr=yes      no
  PNG               --with-png=yes      no
  TIFF              --with-tiff=yes     no

A segunda linha parece mostrar que tentou instalar esses formatos, mas a última linha parece mostrar que nenhuma instalação ocorreu. Portanto, não sei o que fazer com essas informações.

Posso instalar os delegados ausentes dodelegar pacotes que eles têm disponíveis?

Editar:Esta respostafornece uma solução parcial, mas ainda faltam muitos delegados, incluindo aquele que eu realmente preciso, o TIFF. A pergunta para a qual a resposta é mostra muito esforço para instalar a partir da biblioteca delegada mantida pelo Image Magick sem sucesso, o que é desanimador. Instalar a partir daí ainda parece ser a melhor opção neste momento, se alguém tiver algum conselho sobre isso.


*(Ele falha em 2 testes quando make checké executado, então executa seu conjunto de testes, e abri um problema em seu repositório GitHub conforme as solicitações de log.)

Responder1

Parece que você simplesmenteignoradoalgumas das bibliotecas de desenvolvimento necessárias do Bionic Beaver. Depois de instalados, você estará pronto para prosseguir!

1. Arquivos de 'Desenvolvimento':

A maneira mais fácil de gerar a lista necessária de bibliotecas de desenvolvimento é certificar-se de que a caixa 'Fontes' esteja marcada em 'Software e atualizações' e, em seguida, executar o seguinte comando em um Terminal:

apt-get -s build-dep imagemagick

Essecorrida simulada(-s) fornecerá um número impressionante de arquivos para instalar (download de 240 MB em uma instalação limpa do Bionic Beaver). Eu já fiz isso para você, então simplesmente execute o seguintecomando únicopara carregar os arquivos de desenvolvimento necessários:

sudo apt-get install autoconf automake autopoint autotools-dev build-essential chrpath \
cm-super-minimal debhelper dh-autoreconf dh-exec dh-strip-nondeterminism doxygen \
doxygen-latex dpkg-dev fonts-lmodern g++ g++-7 gcc gcc-7 gir1.2-harfbuzz-0.0 graphviz \
icu-devtools libann0 libasan4 libatomic1 libbz2-dev libc-dev-bin libc6-dev \
libcairo-script-interpreter2 libcairo2-dev libcdt5 libcgraph6 libcilkrts5 \
libclang1-6.0 libdjvulibre-dev libexif-dev libexpat1-dev libfftw3-bin libfftw3-dev \
libfftw3-long3 libfftw3-quad3 libfile-stripnondeterminism-perl libfontconfig1-dev \
libfreetype6-dev libgcc-7-dev libgdk-pixbuf2.0-dev libglib2.0-dev libglib2.0-dev-bin \
libgraphite2-dev libgts-0.7-5 libgvc6 libgvpr2 libharfbuzz-dev libharfbuzz-gobject0 \
libice-dev libicu-dev libicu-le-hb-dev libicu-le-hb0 libiculx60 libilmbase-dev \
libitm1 libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev liblab-gamut1 \
liblcms2-dev liblqr-1-0-dev liblsan0 libltdl-dev liblzma-dev libmime-charset-perl \
libmpx2 libopenexr-dev libpango1.0-dev libpathplan4 libpcre16-3 libpcre3-dev \
libpcre32-3 libpcrecpp0v5 libperl-dev libpixman-1-dev libpng-dev libpotrace0 \
libptexenc1 libpthread-stubs0-dev libpython-stdlib libquadmath0 librsvg2-bin \
librsvg2-dev libsigsegv2 libsm-dev libsombok3 libstdc++-7-dev libsynctex1 \
libtexlua52 libtexluajit2 libtiff-dev libtiff5-dev libtiffxx5 libtool libtool-bin \
libtsan0 libubsan0 libunicode-linebreak-perl libwmf-dev libx11-dev libxau-dev \
libxcb-render0-dev libxcb-shm0-dev libxcb1-dev libxdmcp-dev libxext-dev libxft-dev \
libxml2-dev libxml2-utils libxrender-dev libxt-dev libzzip-0-13 linux-libc-dev m4 \
make pkg-config pkg-kde-tools po-debconf preview-latex-style python python-minimal \
python2.7 python2.7-minimal python3-distutils python3-lib2to3 tex-common \
texlive-base texlive-binaries texlive-extra-utils texlive-font-utils \
texlive-fonts-recommended texlive-latex-base texlive-latex-extra \
texlive-latex-recommended texlive-pictures x11proto-core-dev x11proto-dev \
x11proto-xext-dev xorg-sgml-doctools xsltproc xtrans-dev zlib1g-dev

Além desses arquivos de desenvolvimento, podemos adicionar mais alguns para completar a instalação do ImageMagick, checkinstall para auxiliar no empacotamento e mais alguns arquivos -dev para construir alguns delegados não vistos no pacote padrão do Ubuntu. O seguinte é novamenteum único comando:

sudo apt-get install checkinstall libwebp-dev libopenjp2-7-dev librsvg2-dev \
libde265-dev libheif-dev

2. Baixe, compile e instale:

Em seguida, execute o seguintecomando únicopara baixar o ImageMagick mais recente e construí-lo com sucesso:

mkdir $HOME/imagemagick_build && cd $HOME/imagemagick_build && \
wget https://www.imagemagick.org/download/ImageMagick-7.0.7-37.tar.bz2 && \
tar xvf ImageMagick-7.0.7-37.tar.bz2 && cd ImageMagick-7.0.7-37 && \
./configure --with-rsvg && 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.7-37" && \
make distclean && sudo ldconfig

Onde indiquei: ./configure --with-rsvg && makevocê pode acelerar substancialmente a compilação adicionando algo como o seguinte:, ./configure --with-rsvg && make -j 4adicionando um número inteiro proporcional ao número de núcleos disponíveis no seu processador...

3. Teste a instalação:

Testar esta versão revela os delegados necessáriosinstalado com segurança:

andrew@ilium:~$ identify --version
Version: ImageMagick 7.0.7-37 Q16 x86_64 2018-06-01 https://www.imagemagick.org
Copyright: © 1999-2018 ImageMagick Studio LLC
License: https://www.imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP 
Delegates (built-in): bzlib cairo djvu fftw fontconfig freetype heic jbig jng 
jp2 jpeg lcms lqr lzma openexr pangocairo png rsvg tiff webp wmf x xml zlib
andrew@ilium:~$

E agora você tem o ImageMagick mais recente instalado no Bionic Beaver com todos os delegados necessários e alguns extras para garantir :).

Responder2

A abordagem sugerida por @andrew-46 é boa, foi útil entendercomo instalar o ImageMagick com delegados no Ubuntu 20.04

Eu sei que a resposta estava relacionada ao 18.04, mas talvez possa ser útil para outra pessoa.

Em particular, meu objetivo era instalá-lo em uma imagem docker, foi assim que fiz:

# Install ImageMagick build dependencies
RUN apt-get update -qq &&\
  apt-get install -y -qq \
  chrpath debhelper dh-exec dpkg-dev g++ ghostscript gsfonts libbz2-dev \
  libdjvulibre-dev libexif-dev libfftw3-dev libfontconfig1-dev libfreetype6-dev \
  libjpeg-dev liblcms2-dev liblqr-1-0-dev libltdl-dev liblzma-dev libopenexr-dev \
  libpango1.0-dev libperl-dev libpng-dev librsvg2-bin librsvg2-dev libtiff-dev libwebp-dev \
  libwmf-dev libx11-dev libxext-dev libxml2-dev libxt-dev pkg-config pkg-kde-tools zlib1g-dev
# Install ImageMagick Platform-independent build dependencies
RUN apt-get update -qq &&\
  apt-get install -y -qq \
  doxygen doxygen-latex graphviz jdupes libxml2-utils xsltproc
# Install and Configure ImageMagick
RUN wget https://download.imagemagick.org/ImageMagick/download/ImageMagick-7.1.0-4.tar.gz -P /opt
RUN tar -xvzf /opt/ImageMagick-7.1.0-4.tar.gz -C /opt
RUN /opt/ImageMagick-7.1.0-4/configure --with-modules --enable-shared
RUN make -j 2 /opt/ImageMagick-7.1.0-4
RUN make install /opt/ImageMagick-7.1.0-4/
RUN make distclean
RUN ldconfig /usr/local/lib
RUN rm /opt/ImageMagick-7.1.0-4.tar.gz

Encontrei lista de dependências aquihttps://launchpad.net/ubuntu/focal/+source/imagemagick

Responder3

Tive o mesmo problema com a instalação do ImageMagick e usei a resposta realmente útil de andrew.46 acima como base para minha solução.

A solução de Andrew falhou para mim no makeestágio porque o .heicpacote delegado não foi compilado corretamente, causando falha em todo o processo. Existem duas soluções se isso acontecer com você - compilar sem .heicsuporte se não precisar usar imagens do iphone ou instalar os pacotes necessários para o pacote delegado heic.

1 arquivos de 'Desenvolvimento'

Siga exatamente a resposta de andrew.46 acima.

2 Opcional - Baixe pacotes para compilar o delegado .heic

Eu usei a respostaaquicomo base para minha solução. Você precisa instalar os pacotes libde265 e libheif.

$ sudo apt-get build-dep imagemagick libde265 libheif
$ cd /usr/src/ 
$ sudo git clone https://github.com/strukturag/libde265.git  
$ sudo git clone https://github.com/strukturag/libheif.git 
$ cd libde265/ 
$ sudo ./autogen.sh 
$ sudo ./configure 
$ sudo make –j4  
$ sudo make install 
$ cd /usr/src/libheif/ 
$ sudo ./autogen.sh 
$ sudo ./configure 
$ sudo make –j4  
$ sudo make install

3 Baixe, compile e instale

Você pode dividir os comandos na resposta de Andrew em pedaços menores para ver o que está acontecendo, se for útil. Basta executar partes do comando entre `&&' especialmente. (Na verdade, não sabia que você poderia usar && para unir comandos de terminal - é um truque que usarei muito mais agora.)

O seguinte funcionou para mim:

$ mkdir $HOME/imagemagick_build && cd $HOME/imagemagick_build
$ wget https://www.imagemagick.org/download/ImageMagick.tar.gz
$ tar xvf ImageMagick-7*
$ ./configure --with-rsvg
$ make -j4
$ 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.10-14"
$ make distclean && sudo ldconfig

Observe que isso deve funcionar com a versão mais recente do ImageMagick (apenas certifique-se de substituir `--pkgversion "7.0.10-14" pela versão que você baixou.

Se você não seguiu a etapa 2 acima, será necessário configurar o ImageMagick sem o delegado heic. Basta executar ./configure --with-rsvg --with-heic=noe você não terá o delegado .heic, mas a compilação funcionará.

4 verificar versão

digite identify -versionno terminal para verificar a instalação. Você deve ter a lista completa de delegados.

$ identify -version
Version: ImageMagick 7.0.10-14 Q16 x86_64 2020-05-24 https://imagemagick.org
Copyright: © 1999-2020 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP(4.5) 
Delegates (built-in): bzlib cairo djvu fftw fontconfig freetype heic jbig jng jp2 jpeg lcms lqr lzma openexr pangocairo png rsvg tiff webp wmf x xml zlib

informação relacionada