Как установить библиотеки делегатов для Image Magick 7.0.7

Как установить библиотеки делегатов для Image Magick 7.0.7

Я собрал Image Magick 7.0.7 из исходного кода на моей системе Ubuntu 18.04.* magick identify -versionТеперь ввод в терминал возвращает

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

У него нет установленных делегатов, и теперь мне нужно заставить его работать с распространенными типами файлов, такими как .jpg, .png и .tif. Я использовал ./configure --enable-shared, но, тем не менее, эти форматы отсутствуют. Однако, очевидно, что в моей системе есть общие библиотеки для них.

Записи конфигурации библиотеки делегатов для форматов, которые меня больше всего беспокоят, сбивают с толку:

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

2-я строка, похоже, показывает, что он пытался установить эти форматы, но последняя строка, похоже, показывает, что установка не произошла. Поэтому я не знаю, что делать с этой информацией.

Могу ли я установить недостающие делегаты изпакеты делегатов, которые у них есть в наличии?

Редактировать:Этот ответпредоставляет частичное решение, но все еще не хватает многих делегатов, включая тот, который мне действительно нужен, TIFF. Вопрос, на который дан ответ, показывает, что установка из библиотеки делегатов, поддерживаемой Image Magick, требует больших усилий, но безуспешно, что обескураживает. Установка оттуда все еще кажется лучшим вариантом на данный момент, если у кого-то есть совет по этому поводу.


*(При запуске он проваливает 2 теста, make checkпоэтому выполняет свой тестовый набор, и я открыл проблему в их репозитории GitHub, как того требует журнал.)

решение1

Похоже, вы простопропущенонекоторые из необходимых библиотек разработки Bionic Beaver. После их установки все должно быть готово!

1. Файлы «Разработки»:

Самый простой способ сформировать необходимый список библиотек разработки — убедиться, что у вас отмечен флажок «Источники» в разделе «Программное обеспечение и обновления», а затем выполнить следующую команду из терминала:

apt-get -s build-dep imagemagick

Этотсмоделированный запуск(-s) даст вам умопомрачительное количество файлов для установки (240 МБ для загрузки на чистой установке Bionic Beaver). Я уже сделал это для вас, так что просто запустите следующееодна командадля загрузки необходимых файлов разработки:

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

В дополнение к этим файлам разработки мы можем добавить еще несколько для завершения установки ImageMagick, checkinstall для помощи в упаковке и еще несколько файлов -dev для сборки некоторых делегатов, не видимых в стандартном пакете Ubuntu. Ниже сноваодна команда:

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

2. Загрузите, скомпилируйте и установите:

Затем выполните следующееодна командачтобы загрузить последнюю версию ImageMagick и успешно ее собрать:

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

Где я указал: ./configure --with-rsvg && makeвы можете существенно ускорить компиляцию, добавив что-то вроде следующего: ./configure --with-rsvg && make -j 4, добавив целое число, соизмеримое с количеством ядер, доступных вашему процессору...

3. Проверьте установку:

Тестирование этой версии покажет, какие делегаты вам нужныбезопасно установлен:

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

И теперь у вас установлена ​​последняя версия ImageMagick на Bionic Beaver со всеми необходимыми вам делегатами и несколькими дополнительными для пущего эффекта:).

решение2

Подход, предложенный @andrew-46, хорош, было полезно его понять.как установить ImageMagick с делегатами на Ubuntu 20.04

Я знаю, что ответ относился к 18.04, но, возможно, он может быть полезен кому-то еще.

В частности, моей целью было установить его в образ Docker, вот как я это сделал:

# 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

Список зависимостей я нашел здесьhttps://launchpad.net/ubuntu/focal/+source/imagemagick

решение3

У меня была та же проблема с установкой ImageMagick, и я использовал очень полезный ответ andrew.46 выше в качестве основы для своего решения.

Решение Эндрю не сработало для меня на makeэтапе, поскольку .heicпакет делегата не был правильно скомпилирован, что привело к сбою всего процесса. Если это произошло с вами, есть два решения: скомпилировать без .heicподдержки, если вам не нужны образы iPhone, или установить необходимые пакеты для пакета делегата heic.

1 Файлы «Разработка»

Точно следуйте ответу andrew.46 выше.

2 Необязательно - Загрузите пакеты для компиляции делегата .heic

Я использовал ответздеськак основу для моего решения. Вам нужно установить пакеты libde265 и 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 Загрузите, скомпилируйте и установите

Вы можете разбить команды в ответе Эндрю на более мелкие части, чтобы увидеть, что происходит, если это полезно. Просто запустите части команды между `&&' по отдельности. (Я на самом деле не знал, что можно использовать && для объединения команд терминала вместе - это трюк, который я собираюсь использовать гораздо чаще.)

Мне помогло следующее:

$ 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

Обратите внимание, что это должно работать с последней версией ImageMagick (просто убедитесь, что вы заменили `--pkgversion "7.0.10-14" на ту версию, которую вы скачали).

Если вы не выполнили шаг 2 выше, вам нужно настроить ImageMagick без делегата heic. Просто запустите ./configure --with-rsvg --with-heic=no, и у вас не будет делегата .heic, но компиляция будет работать.

4 проверить версию

введите identify -versionв терминале, чтобы проверить установку. У вас должен быть полный список делегатов.

$ 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

Связанный контент