Software-Installation

Imagemagick:使用現有安裝安裝 Jpeg Decode Delegate

  • February 14, 2019

我從原始碼安裝了 ImageMagick 7.0.8-11 Q16 x86_64,但我不知道從原始碼安裝時不會自動包含解碼委託。我應該安裝了 ImageMagick 的二進製文件,其中包括 jpeg 解碼委託。問題是我無法解除安裝 ImageMagick,因為許多其他程序都依賴它。那麼有沒有辦法為現有的 ImageMagick 安裝安裝jpeg 解碼委託?

相關資訊:

Linux Mint 19 塔拉 64 位。

apt-cache policy imagemagick
imagemagick:
Installed: (none)
Candidate: 8:6.9.7.4+dfsg-16ubuntu6.4
Version table:
8:6.9.7.4+dfsg-16ubuntu6.4 500
500 http://mirror.atlantic.net/ubuntu bionic-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
8:6.9.7.4+dfsg-16ubuntu6.3 -1
100 /var/lib/dpkg/status
8:6.9.7.4+dfsg-16ubuntu6 500
500 http://mirror.atlantic.net/ubuntu bionic/main amd64 Packages

identify -version
Version: ImageMagick 7.0.8-11 Q16 x86_64 2018-09-18 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): fontconfig freetype png x zlib

這個AskUbuntu文章與您的問題有關嗎?如果是這樣,您可以遵循以下建議:

安裝 JPEG 編碼庫

根據使用者 Samir Sabri 在此 AskUbuntu 文章中提供的資訊,您需要添加 JPEG 庫。

我通過從原始碼安裝http://www.ijg.org/files/jpegsrc.v8c.tar.gz上提供的 jpeg 編碼庫解決了這個問題。(可以在這裡找到最新的 JPEG 庫。)

cd /usr/local/src
tar xvfz jpegsrc-v9c.tar.gz
cd jpegsrc.v9c
./configure --enable-shared --prefix=$CONFIGURE_PREFIX
make
sudo make install

然後我從原始碼重新安裝了 ImageMagick:

cd /usr/local/src
tar xvfz ImageMagick-[yourImagemagickVersion].tar.gz
cd ImageMagick-[yourImagemagickVersion]
export CPPFLAGS=-I/usr/local/include
export LDFLAGS=-L/usr/local/lib
./configure --prefix=/usr/local \
  --disable-static --with-modules \
  --without-perl \
  --without-magick-plus-plus \
  --with-quantum-depth=8 \
  --disable-openmp
 make
 sudo make install

如有必要,替換您的選項。您現在應該可以imagemagick用來辨識、編碼和解碼 jpeg 文件了。

解除安裝並重新安裝

如果上述文章不相關或不起作用,最好的做法是解除安裝imagemagick並重新安裝。

您可以按照使用者 Javier Rivera在這篇文章中的建議解除安裝從原始碼安裝的軟體包。

cd進入源包目錄並執行:

make uninstall

如果這是您最初建構軟體包的方式,您可能需要 root(sudo) 權限。

正如使用者 Javier Rivera 指出的那樣,這僅在源包的開發人員已製定解除安裝腳本/規則時才有效。如果他們沒有,您將需要執行make -n install以找出安裝步驟並嘗試優雅地撤消它們。

您也可以按照本文dpkg中列出的建議嘗試解除安裝包。

dpkg -r --force-depends foo

將解除安裝包foo,同時維護依賴的包foo。然而,這將創建一個不穩定的系統。建議執行apt-get -f install以幫助解決此問題並註意輸出。

查看您的apt-cache policy輸出,您應該能夠imagemagick從您的儲存庫安裝一個版本。

我建議您嘗試僅通過包管理器安裝包。這樣可以更輕鬆地管理您的系統,並且應該努力避免此類情況。

如果您對此答案有任何疑問或問題,請發表評論。我強烈建議您在嘗試命令之前通讀我提供的每個連結。我感謝回饋以糾正任何誤解並改進我的文章。我可以根據需要更新我的答案。

祝你好運!

引用自:https://unix.stackexchange.com/questions/500078