linux - 损坏的 ImageMagick 配置

标签 linux perl delegates imagemagick

昨天我决定安装 Perl-Magick 来对我的图像执行一些脚本。我似乎破坏了 ImageMagick 的委托(delegate)并创建了多个版本。我不完全确定...我对 Linux 还很陌生。我尽可能地追溯了我的命令路径,我会尽力指导您完成我所做的事情。

在决定安装 Perl-Magick(来自源代码)之前,我有 6.7.7 版的 ImageMagick,它运行良好。 我几乎按照此处的说明安装 Perl-Magick。

http://www.imagemagick.org/script/perl-magick.php

        tar xczf ImageMagick.tar.gz
        ./configure -with-perl
        make
        sudo make install

make 出错,指出我缺少 lbperl(我想就是这样。我没有任何输出日志。) 因此,无论出于何种原因,我认为移动到 imagemagick 目录并再次尝试可能会修复它。

        cd ImageMagick-6.8.9-5
        ./configure -with-perl
        make
        sudo make install

Make 再次失败,所以我认为将 imagemagick 目录移动到另一个目录可能会修复它。

        mv ImageMagick-6.8.9-5 /usr/share
        sudo su
        perl -e "use Image::Magick; print Image::Magick->QuantumDepth"

测试命令无效。试着多弄乱一点。

        sudo ldconfig usr/local/lib
        ./configure -with-perl
         sudo make install
        cd PerlMagick

此时我意识到在尝试转换 PNG 时出现了一些错误。我认为主要错误是 PNG 的委托(delegate)代码不再存在。 尝试了多种方法来摆脱它,以便我可以重新安装它。

        sudo apt-get install --reinstall imagemagick
        sudo apt-get remove imagemagick
        rm -rf ImageMagick-6.8.9-5
        sudo apt-get install --reinstall imagemagick
        sudo ldconfig usr/local/lib
        sudo apt-get --purge remove imagemagick
        sudo apt-get install imagemagick
        sudo apt-get --purge remove imagemagick
        sudo apt-get install imagemagick
        sudo apt-get install --reinstall imagemagick

此时我非常沮丧,所以我问一位高级程序员是否可以帮我解决这个问题。他建议通过 make uninstall 再次进行 make。

        tar xczf ImageMagick.tar.gz
        ./configure -with-perl
        sudo make uninstall

发现 PerlMagick 不支持“卸载”。 (我到底应该如何删除它?)

        sudo make install

        sudo apt-get install libperl-dev
        sudo make install

出于我的工作目的,问题的核心归结为我无法对 PNG 做任何事情。所以我得到了 png 库并提取了 tar。仍然没有运气。 :(

        tar xvfz libpng-1.6.12.tar.gz

今天我去我的/usr/local/lib 目录,发现了这个:

        Jul  2 15:34 ImageMagick-6.8.9
        Jul  2 15:34 libMagickCore-6.Q16.a
        Jul  2 15:34 libMagickCore-6.Q16.la
        Jul  2 15:34 libMagickCore-6.Q16.so -> libMagickCore-6.Q16.so.2.0.0
        Jul  2 15:34 libMagickCore-6.Q16.so.2 -> libMagickCore-6.Q16.so.2.0.0
        Jul  2 15:34 libMagickCore-6.Q16.so.2.0.0
        Jul  2 15:34 libMagickWand-6.Q16.a
        Jul  2 15:34 libMagickWand-6.Q16.la
        Jul  2 15:34 libMagickWand-6.Q16.so -> libMagickWand-6.Q16.so.2.0.0
        Jul  2 15:34 libMagickWand-6.Q16.so.2 -> libMagickWand-6.Q16.so.2.0.0
        Jul  2 15:34 libMagickWand-6.Q16.so.2.0.0
        Jul  2 15:34 perl
        Jul  2 15:34 pkgconfig

我不知道那是否应该在那里......我有这个开发环境,我可以连接到它也安装了 imagemagick,但我没有在同一目录中找到类似的东西。

另外,我做了一个 dpkg --list |更少,发现这个:

        ii  imagemagick                  8:6.7.7.10-5ubuntu3.1
        ii  imagemagick-common           8:6.7.7.10-5ubuntu3.1 

此外,我检查了我的/usr/libls - 我没有 ImageMagick-6.8.9 的任何内容,但我有一个 ImageMagick-6.7.7 的目录,但它只有三个 XML 文件,“english .xml", "french.xml", "locale.xml."我会假设这意味着我丢失了所有的配置文件。有没有简单的方法可以让我完全消除这种困惑并获得预配置版本的 imagemagick?

再多一点信息。我看了一下 usr/local/lib/ImageMagick-6.8.9/config-Q16/configure.xml 并且缺少 png 委托(delegate)。尝试使用 ./configure --with-png 配置它。依然没有。

好的。我认为这就是一切。

编辑:这是配置运行的结果

              Shared libraries  --enable-shared=yes     yes
              Static libraries  --enable-static=yes     yes
              Module support    --with-modules=no       no
              GNU ld            --with-gnu-ld=yes       yes
              Quantum depth     --with-quantum-depth=16 16
              High Dynamic Range Imagery
              --enable-hdri=no      no

              Install documentation:        yes

              Delegate Configuration:
              BZLIB             --with-bzlib=yes        no
              Autotrace         --with-autotrace=no     no
              Dejavu fonts      --with-dejavu-font-dir=default  none
              DJVU              --with-djvu=yes     no
              DPS               --with-dps=yes      no
              FFTW              --with-fftw=yes     no
              FlashPIX          --with-fpx=yes      no
              FontConfig        --with-fontconfig=yes       no
              FreeType          --with-freetype=yes     no
              GhostPCL          None                pcl6 (unknown)
              GhostXPS          None                gxps (unknown)
              Ghostscript       None                gs (9.10)
              Ghostscript fonts --with-gs-font-dir=default  /usr/share/fonts/type1/gsfonts/
              Ghostscript lib   --with-gslib=no     no
              Graphviz          --with-gvc=no       
              JBIG              --with-jbig=yes     no
              JPEG v1           --with-jpeg=yes     no
              JPEG-2000         --with-jp2=     
              LCMS v1           --with-lcms=yes     no
              LCMS v2           --with-lcms2=yes        no
              LQR               --with-lqr=yes      no
              LTDL              --with-ltdl=yes     no
              LZMA              --with-lzma=yes     no
              Magick++          --with-magick-plus-plus=yes no (failed tests)
              OpenEXR           --with-openexr=yes      no
              OpenJP2           --with-openjp2=yes      no
              PANGO             --with-pango=yes        no
              PERL              --with-perl=no      no
              PNG               --with-png=yes      no
              RSVG              --with-rsvg=no      no
              TIFF              --with-tiff=yes     no
              WEBP              --with-webp=yes     no
              Windows fonts     --with-windows-font-dir=    none
              WMF               --with-wmf=no       no
              X11               --with-x=           yes
              XML               --with-xml=yes      no
              ZLIB              --with-zlib=yes     no

              X11 Configuration:
                    X_CFLAGS        = 
                    X_PRE_LIBS      = -lSM -lICE
                    X_LIBS          = 
                    X_EXTRA_LIBS    = 

              Options used to compile and link:
                PREFIX          = /usr/local
                EXEC-PREFIX     = /usr/local
                VERSION         = 6.8.9
                CC              = gcc -std=gnu99 -std=gnu99
                CFLAGS          = -fopenmp -g -O2 -Wall -march=corei7-avx -fexceptions -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16
                CPPFLAGS        = -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16
                PCFLAGS         = 
                DEFS            = -DHAVE_CONFIG_H
                LDFLAGS         = 
                LIBS            = 
                CXX             = g++
                CXXFLAGS        = -pthread
                FEATURES        = DPC OpenMP
                DELEGATES       = mpeg ps x

最佳答案

在查阅 imagemagick 论坛后,我找到了答案。

我进入了包含我安装的最新版本的 IM (6.8.9-5) 的目录,并从那里执行了“make uninstall”。

我的机器仍然有正确配置的旧版本 IM (6.7.7)。我认为出了什么问题是我安装了最新版本的 IM 而没有先执行 ./configure。我直接去了 ./configure --with-perl ,它可能没有图像格式的所有配置。

我想如果我重新安装最新版本并正确配置它,它会工作得很好。 6.7.7 现在适合我的目的!

关于linux - 损坏的 ImageMagick 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24559501/

相关文章:

regex - 使用 Perl,如何通过将参数传递给子例程来构建动态正则表达式?

linux - 使用任何东西作为 sed 或 Perl 正则表达式的输入?

iphone - iOS:通过委托(delegate)方法从推送的 ViewController 返回?

c++ - 如何在没有取消点的情况下取消 pthread

c - POSIX 中 sem_getvalue() 的语义

创建进程树

perl - 如何使用 `Makefile.PL` 定义新的 make 任务?

c# - 为什么我不能将 Dictionary<string, string> 作为泛型传递给 IEnumerable<KeyValuePair<string, string>>

c# - 不带参数调用委托(delegate)?

linux - Ubuntu 和 Debian 之间的管道大小不同