9 votes

Comment installer les bibliothèques de délégués pour Image Magick 7.0.7

J'ai construit Image Magick 7.0.7 à partir des sources sur mon système Ubuntu 18.04*. magick identify -version dans le terminal renvoie maintenant

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

Aucun délégué n'est installé, et je dois maintenant le faire fonctionner avec des types de fichiers courants tels que .jpg, .png et .tif. J'ai utilisé ./configure --enable-shared Néanmoins, ces formats sont absents. Cependant, il existe manifestement des bibliothèques partagées sur mon système pour ces formats.

Les entrées de configuration de la bibliothèque des délégués pour les formats qui me préoccupent le plus sont confuses :

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

La deuxième ligne semble indiquer qu'il a essayé d'installer ces formats, mais la dernière ligne semble indiquer qu'aucune installation n'a eu lieu. Je ne sais donc pas quoi faire de cette information.

Puis-je installer les délégués manquants à partir de la page les packages de délégués disponibles ?

Editer : Cette réponse apporte une solution partielle, mais il manque encore beaucoup de délégués, y compris celui dont j'ai vraiment besoin, le TIFF. La question pour laquelle la réponse est donnée montre beaucoup d'efforts pour installer à partir de la bibliothèque de délégués maintenue par Image Magick, sans succès, ce qui est décourageant. L'installation à partir de cette bibliothèque semble être la meilleure option à ce stade, si quelqu'un a des conseils à ce sujet.


*(Il échoue à 2 tests lorsque <code>make check</code> est lancé pour qu'il exécute sa suite de tests, et j'ai ouvert un problème sur leur repo GitHub comme le demande le journal).

16voto

Shaun Bohannon Points 271

Il semble que vous ayez simplement sauté certaines des bibliothèques de développement Bionic Beaver requises. Une fois ces bibliothèques installées, vous devriez être prêt à partir !

1. Dossiers de "développement" :

Le moyen le plus simple de générer la liste requise de bibliothèques de développement est de s'assurer que la case "Sources" est cochée dans "Logiciels et mises à jour", puis d'exécuter la commande suivante à partir d'un terminal :

apt-get -s build-dep imagemagick

Le présent course simulée (-s) vous donnera un nombre effarant de fichiers à installer (240mb de téléchargement sur une installation propre de Bionic Beaver). Je l'ai déjà fait pour vous, alors exécutez simplement ce qui suit commande unique pour charger les fichiers de développement nécessaires :

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

En plus de ces fichiers de développement, nous pouvons en ajouter d'autres pour compléter l'installation d'ImageMagick, checkinstall pour aider à l'empaquetage et quelques autres fichiers -dev pour construire certains délégués qui n'apparaissent pas dans le paquetage standard d'Ubuntu. Voici à nouveau ce qui se passe une seule commande :

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

2. Télécharger, compiler et installer :

Exécutez ensuite la commande suivante commande unique pour télécharger la dernière version d'ImageMagick et la compiler avec succès :

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

Là où je l'ai indiqué : ./configure --with-rsvg && make vous pouvez accélérer considérablement la compilation en ajoutant quelque chose comme ce qui suit : ./configure --with-rsvg && make -j 4 en ajoutant un nombre entier correspondant au nombre de cœurs disponibles sur votre processeur...

3. Tester l'installation :

L'essai de cette version révèle les délégués dont vous avez besoin installé en toute sécurité :

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

Et maintenant vous avez la toute dernière version d'ImageMagick installée sur Bionic Beaver avec tous les délégués dont vous avez besoin et quelques autres pour faire bonne mesure :).

1voto

alexxcollins Points 11

J'ai eu le même problème avec mon installation d'ImageMagick et j'ai utilisé la réponse très utile d'andrew.46 ci-dessus comme base de ma solution.

La solution d'Andrew a échoué pour moi à l'étape make comme l'a fait le .heic n'a pas été compilé correctement, ce qui a fait échouer l'ensemble du processus. Si cela vous arrive, il y a deux solutions : compiler sans .heic si vous n'avez pas besoin d'utiliser les images iphone, ou d'installer les paquets nécessaires pour le paquet de délégués heic.

1 dossiers "Développement

Suivre exactement la réponse d'andrew.46 ci-dessus.

2 Facultatif - Télécharger les paquets pour compiler le délégué .heic

J'ai utilisé la réponse aquí comme base de ma solution. Vous devez installer les paquets libde265 et 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 Téléchargement, compilation et installation

Vous pouvez décomposer les commandes de la réponse d'Andrew en plus petits morceaux pour voir ce qui se passe, si c'est utile. Il suffit d'exécuter les parties de la commande entre `&&' de façon sporadique. (Je n'avais pas réalisé qu'on pouvait utiliser && pour joindre des commandes de terminal ensemble - c'est un truc que je vais utiliser beaucoup plus souvent maintenant).

La méthode suivante a fonctionné pour moi :

$ 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

Notez que cela devrait fonctionner avec la dernière version d'ImageMagick (assurez-vous simplement de remplacer `--pkgversion "7.0.10-14" par la version que vous avez téléchargée.

Si vous n'avez pas suivi l'étape 2 ci-dessus, vous devez configurer ImageMagick sans le délégué heic. Exécutez simplement ./configure --with-rsvg --with-heic=no et vous n'aurez pas de délégué .heic mais la compilation fonctionnera.

4 vérifier la version

type identify -version dans le terminal pour vérifier l'installation. Vous devriez avoir la liste complète des délégués.

$ 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

1voto

Nathan Wheeler Points 4068

L'approche suggérée par @andrew-46 est bonne, elle était utile à comprendre Comment installer ImageMagick avec des délégués sur Ubuntu 20.04

Je sais que la réponse concerne la version 18.04, mais elle peut peut-être être utile à quelqu'un d'autre.

En particulier, mon objectif était de l'installer dans une image docker, voici comment j'ai procédé :

# 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

J'ai trouvé la liste des dépendances ici https://launchpad.net/ubuntu/focal/+source/imagemagick

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X