如何安裝 Image Magick 7.0.7 的委託庫

如何安裝 Image Magick 7.0.7 的委託庫

magick identify -version我在 Ubuntu 18.04 系統上從原始程式碼建立了 Image Magick 7.0.7。

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

第二行似乎顯示它嘗試安裝這些格式,但最後一行似乎顯示沒有安裝。因此我不知道如何處理這些資訊。

我可以安裝缺少的代表嗎他們有可用的代表套餐

編輯:這個答案提供了部分解決方案,但仍然缺少很多代表,包括我真正需要的 TIFF。答案所針對的問題顯示,從 Image Magick 維護的委託庫進行安裝需要付出很大的努力,但沒有成功,這令人沮喪。如果有人對此有建議的話,從那裡安裝似乎仍然是最好的選擇。


*(make check運行時它失敗了 2 個測試,因此它執行了測試套件,並且我已根據日誌請求在他們的 GitHub 存儲庫上打開了一個問題。)

答案1

看起來你很簡單跳過一些必需的 Bionic Beaver 開發庫。一旦安裝完畢,您就可以開始了!

1.“開發”文件:

產生所需的開發庫清單最簡單的方法是確保在「軟體和更新」中勾選了「來源」框,然後從終端機執行以下命令:

apt-get -s build-dep imagemagick

模擬運行(-s) 將為您提供數量驚人的安裝檔案(在乾淨的 Bionic Beaver 安裝上下載 240mb)。我已經為您完成了此操作,因此只需運行以下命令單一命令載入所需的開發文件:

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

現在,您已經在 Bionic Beaver 上安裝了最新的 ImageMagick,其中包含您需要的所有代表以及一些額外的代表:)。

答案2

@andrew-46 建議的方法很好,理解它很有用如何在 Ubuntu 20.04 上使用代理安裝 ImageMagick

我知道答案與 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 delegate 套件安裝必要的套件。

1 個「開發」文件

完全遵循上面的 andrew.46 答案。

2 可選 - 下載套件來編譯 .heic delegate

我用了答案這裡作為我的解決方案的基礎。您需要安裝 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,則必須在沒有 heic delegate 的情況下設定 ImageMagick。只需運行./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

相關內容