J'ai construit Image Magick 7.0.7 à partir des sources sur mon système Ubuntu 18.04. * Taper 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 les types de fichiers courants tels que .jpg, .png et .tif. J'ai utilisé ./configure --enable-shared
, mais ces formats manquent néanmoins. Cependant, il existe clairement des bibliothèques partagées sur mon système pour ces applications.
Les entrées de configuration de la bibliothèque déléguée pour les formats qui me préoccupent le plus sont source de confusion:
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'elle 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 avec cette information.
Puis-je installer les délégués manquants à partir du packages de délégués disponibles ?
Edit: Cette réponse fournit une solution partielle, mais il manque encore beaucoup de délégués, y compris celui dont j'ai vraiment besoin, le format TIFF. La question à laquelle la réponse est destinée montre de nombreux efforts d'installation à partir de la bibliothèque de délégués maintenue par Image Magick, sans succès, ce qui est décourageant. Installer à partir de là semble toujours être la meilleure option à ce stade, si quelqu'un a des conseils à ce sujet.
make check
est exécuté, de sorte qu'il exécute sa suite de tests et que j'ai ouvert un problème sur leur référentiel GitHub en tant que demandes de journal.)Il semble que vous ayez simplement omis certaines des bibliothèques de développement requises par Bionic Beaver. Une fois que ceux-ci sont installés, vous devriez être prêt à partir!
1. Fichiers 'Développement':
Le moyen le plus simple de générer la liste requise de bibliothèques de développement consiste à vérifier que la case "Sources" est cochée dans "Logiciels & mises à jour", puis à exécuter la commande suivante à partir d'un terminal:
apt-get -s build-dep imagemagick
Cette simulation simulée (-s) vous donnera un nombre impressionnant de fichiers à installer (téléchargement de 240 Mo sur une installation propre de Bionic Beaver). J'ai déjà fait cela pour vous, alors lancez simplement la commande unique suivante pour charger les fichiers de développement requis:
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 quelques-uns pour compléter l'installation d'ImageMagick, vérifier l'installation pour vous aider à empaqueter et quelques autres fichiers -dev pour créer des délégués non vus dans le paquet standard Ubuntu. Ce qui suit est à nouveau 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:
Ensuite, exécutez la commande unique suivante pour télécharger le dernier ImageMagick et le construire correctement:
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
Où j’ai indiqué: ./configure --with-rsvg && make
vous pouvez considérablement accélérer la compilation en ajoutant quelque chose comme ce qui suit: ./configure --with-rsvg && make -j 4
, en ajoutant un entier correspondant au nombre de cœurs disponibles dans votre processeur ...
. Testez l'installation:
Tester cette version révèle que vos délégués requis sont installés 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 dernière version d'ImageMagick installée sur Bionic Beaver avec tous les délégués dont vous avez besoin et quelques-uns supplémentaires pour faire bonne mesure :).
pour moi ça n'a pas marché ;-(
J'essaie d'utiliser ImageMagick-7.0.8-63
Dans la section Télécharger et compiler, je reçois une erreur:
CC coders/MagickCore_libMagickCore_7_Q16HDRI_la-heic.lo
coders/heic.c: In function ‘ReadHEICColorProfile’:
coders/heic.c:143:5: warning: unused variable ‘length’ [-Wunused-variable]
length;
^~~~~~
coders/heic.c: In function ‘ReadHEICImage’:
coders/heic.c:454:9: warning: implicit declaration of function ‘heif_context_read_from_memory_without_copy’; did you mean ‘heif_context_read_from_memory’? [-Wimplicit-function-declaration]
error=heif_context_read_from_memory_without_copy(heif_context,file_data,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
heif_context_read_from_memory
coders/heic.c:454:8: error: incompatible types when assigning to type ‘struct heif_error’ from type ‘int’
error=heif_context_read_from_memory_without_copy(heif_context,file_data,
^
At top level:
coders/heic.c:94:3: warning: ‘xmp_namespace’ defined but not used [-Wunused-const-variable=]
xmp_namespace[] = "http://ns.Adobe.com/xap/1.0/ ";
^~~~~~~~~~~~~
Makefile:9832: recipe for target 'coders/MagickCore_libMagickCore_7_Q16HDRI_la-heic.lo' failed
make[1]: *** [coders/MagickCore_libMagickCore_7_Q16HDRI_la-heic.lo] Error 1
make[1]: Leaving directory '/media/ronald/SSD-240/home/ronald/imagemagick_build/ImageMagick-7.0.8-63'
Makefile:5963: recipe for target 'all' failed
make: *** [all] Error 2
Que dois-je changer?