Как установить библиотеки делегатов для 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 в качестве запросов журнала.)
3 ответа
Похоже, вы просто пропустили некоторые необходимые библиотеки для разработки Bionic Beaver. После того, как они установлены, вы должны быть готовы!
1. Файлы "разработки":
Самый простой способ создать требуемый список библиотек разработки - убедиться, что в поле "Программное обеспечение и обновления" установлен флажок "Источники", а затем запустить из терминала следующую команду:
apt-get -s build-dep imagemagick
Этот симулированный прогон (-ы) даст вам огромное количество файлов для установки (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 со всеми необходимыми вам делегатами и несколькими дополнительными для хорошей меры:).
Подход, предложенный @andrew-46, хорош, было полезно понять , как установить ImageMagick с делегатами в Ubuntu 20.04.
Я знаю, что ответ был связан с 18.04, но, возможно, он может быть полезен кому-то еще.
В частности, моей целью было установить его в образ докера, вот как я это сделал:
# 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
У меня была такая же проблема с моей установкой ImageMagick, и я использовал действительно полезный ответ andrew.46 выше в качестве основы своего решения.
Решение Эндрю не удалось мне на
make
этап как
.heic
пакет делегата не компилировался правильно, что привело к сбою всего процесса. Если это произойдет с вами, есть два решения - скомпилировать без
.heic
поддержка, если вам не нужно использовать изображения iphone, или установить необходимые пакеты для пакета делегата heic.
1 Файлы для разработки
Точно следуйте ответу andrew.46 выше.
2 Необязательно - Загрузите пакеты для компиляции делегата.heic
Я использовал ответ здесь как основу своего решения. Вам необходимо установить пакеты libde265 и libheif.
$ sudo apt-get build-dep imagemagick libde265libheif
$ 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