Cómo instalar bibliotecas delegadas para Image Magick 7.0.7

Cómo instalar bibliotecas delegadas para Image Magick 7.0.7

Construí Image Magick 7.0.7 desde la fuente en mi sistema Ubuntu 18.04.* Escribir magick identify -versionen la terminal ahora devuelve

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

No tiene delegados instalados y ahora necesito que funcione con tipos de archivos comunes como .jpg, .png y .tif. Utilicé ./configure --enable-shared, pero aun así faltan esos formatos. Sin embargo, claramente existen bibliotecas compartidas en mi sistema para ellos.

Las entradas de Configuración de la biblioteca delegada para los formatos que más me preocupan son confusas:

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

La segunda fila parece mostrar que intentó instalar esos formatos, pero la última fila parece mostrar que no se realizó ninguna instalación. Por lo tanto no sé qué hacer con esta información.

¿Puedo instalar los delegados que faltan deldelegar paquetes que tienen disponibles?

Editar:esta respuestaproporciona una solución parcial, pero todavía faltan muchos delegados, incluido el que realmente necesito, TIFF. La pregunta a la que se responde muestra un gran esfuerzo para instalar desde la biblioteca delegada mantenida por Image Magick sin éxito, lo cual es desalentador. Instalar desde allí todavía parece la mejor opción en este momento, si alguien tiene algún consejo al respecto.


*(Falla 2 pruebas cuando make checkse ejecuta, por lo que ejecuta su conjunto de pruebas y abrí un problema en su repositorio de GitHub cuando el registro lo solicita).

Respuesta1

Parece que simplemente tienessaltadoalgunas de las bibliotecas de desarrollo requeridas de Bionic Beaver. Una vez que estén instalados, ¡debería estar listo para comenzar!

1. Archivos de 'Desarrollo':

La forma más fácil de generar la lista requerida de bibliotecas de desarrollo es asegurarse de tener marcada la casilla "Fuentes" en "Software y actualizaciones" y luego ejecutar el siguiente comando desde una Terminal:

apt-get -s build-dep imagemagick

Estecarrera simulada(-s) le brindará una increíble cantidad de archivos para instalar (descarga de 240 MB en una instalación limpia de Bionic Beaver). Ya hice esto por ti, así que simplemente ejecuta lo siguientecomando únicopara cargar los archivos de desarrollo necesarios:

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

Además de estos archivos de desarrollo, podemos agregar algunos más para completar la instalación de ImageMagick, checkinstall para ayudar en el empaquetado y algunos archivos -dev más para crear algunos delegados que no se ven en el paquete estándar de Ubuntu. Lo siguiente es nuevamenteun solo comando:

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

2. Descargue, compile e instale:

Luego ejecuta lo siguientecomando únicopara descargar la última versión de ImageMagick y compilarla correctamente:

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

Donde he indicado: ./configure --with-rsvg && makepuedes acelerar sustancialmente la compilación agregando algo como lo siguiente: ./configure --with-rsvg && make -j 4, agregando un número entero proporcional a la cantidad de núcleos disponibles en tu procesador...

3. Pruebe la instalación:

Probar esta versión revela los delegados necesariosinstalado de forma segura:

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

Y ahora tiene instalado el último ImageMagick en Bionic Beaver con todos los delegados que necesitaba y algunos adicionales por si acaso :).

Respuesta2

El enfoque sugerido por @andrew-46 está bien, fue útil entendercómo instalar ImageMagick con delegados en Ubuntu 20.04

Sé que la respuesta estaba relacionada con 18.04, pero tal vez pueda ser útil para alguien más.

En particular, mi objetivo era instalarlo en una imagen de Docker, así es como lo hice:

# 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

Encontré la lista de dependencias aquí.https://launchpad.net/ubuntu/focal/+source/imagemagick

Respuesta3

Tuve el mismo problema con mi instalación de ImageMagick y utilicé la muy útil respuesta anterior de Andrew.46 como base de mi solución.

La solución de Andrew falló en esta makeetapa porque el .heicpaquete delegado no se compiló correctamente, lo que provocó que todo el proceso fallara. Hay dos soluciones si esto le sucede: compilar sin .heicsoporte si no necesita usar imágenes de iPhone o instalar los paquetes necesarios para el paquete delegado heic.

1 archivos de 'Desarrollo'

Siga exactamente la respuesta de andrew.46 anterior.

2 Opcional: descargar paquetes para compilar .heic delegado

usé la respuestaaquícomo base para mi solución. Necesita instalar los paquetes libde265 y 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 Descargar, compilar e instalar

Puede dividir los comandos en la respuesta de Andrew en partes más pequeñas para ver qué sucede si es útil. Simplemente ejecute partes del comando entre `&&' de forma separada. (En realidad, no me di cuenta de que podías usar && para unir comandos de terminal; es un truco que voy a usar mucho más ahora).

Lo siguiente funcionó para mí:

$ 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

Tenga en cuenta que esto debería funcionar con la última versión de ImageMagick (solo asegúrese de reemplazar `--pkgversion "7.0.10-14" con la versión que haya descargado.

Si no siguió el paso 2 anterior, debe configurar ImageMagick sin el delegado heic. Simplemente ejecútelo ./configure --with-rsvg --with-heic=noy no tendrá el delegado .heic pero la compilación funcionará.

4 verificar versión

escriba identify -versionen la terminal para verificar la instalación. Debería tener la 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

información relacionada