【问题标题】:"Image not found" when using ImageMagick on Sierra (beta)在 Sierra(测试版)上使用 ImageMagick 时出现“找不到图像”
【发布时间】:2017-01-06 07:25:55
【问题描述】:

我正在尝试在 iOS 应用的 appIcon 上添加水印。为此,我正在关注 [Ray's][1] 的博客,并使用 [here][2] 的二进制版本安装了 ImageMagick。我还使用 sudo nano /etc/paths 在我的路径中添加了 /bin/lib,因此 convert 命令似乎可以正常工作。

问题陈述: 当我使用教程中的 convert 命令时,出现以下错误

dyld: Library not loaded: /ImageMagick-7.0.1/lib/libMagickCore-7.Q16HDRI.0.dylib
  Referenced from: /Users/Username/Library/ImageMagick-7.0.1/bin/convert
  Reason: image not found
Abort trap: 6

即使图像在那里,错误也是“找不到图像”。任何想法社区? [1]:https://www.raywenderlich.com/1716-how-to-change-your-app-icon-at-build-time [2]:https://www.imagemagick.org/script/download.php#macosx

【问题讨论】:

  • 看起来DYLD_LIBRARY_PATH 需要定义。
  • 在我的系统上,我有 DYLD_LIBRARY_PATH,但我仍然收到错误。

标签: macos terminal imagemagick imagemagick-convert


【解决方案1】:

我遇到了同样的问题。对我有用的是从 $PATH 中删除以前有问题的安装,然后重新安装:

brew update && brew upgrade
brew remove imagemagick
brew install imagemagick

然后我跑的时候:

which convert

我终于得到了 brew 版本:

/usr/local/bin/convert

当我运行教程中的命令时:

convert AppIcon60x60@2x.png -fill white -font Times-Bold -pointsize 18 -gravity south -annotate 0 "Hello World" test.png

我得到了 Hello World 图像。

【讨论】:

    【解决方案2】:

    更新

    我检查了您从中获取包裹的页面,看起来我的假设是正确的 - 您缺少路径变量 MAGICK_HOME。幸运的是,这似乎很容易纠正。

    你需要获取ImageMagick所在目录的绝对路径。在紧要关头,您可以在任何地方搜索它 - 从命令行运行:

    find / -type d -name "ImageMagick-7.0.3" 2>/dev/null
    

    它应该只回答一个 ImageMagick 目录(除非您在不同的地方多次安装它,在这种情况下,您需要确定两者中的哪一个是“正确”的包)。

    作为替代,如果您发出命令

    which convert
    

    它应该告诉你convert 可执行文件的完整路径,它应该在 ImageMagick 安装的 bin 子目录中。

    假设它说目录是

    /Users/lserni/Desktop/test/ImageMagick-7.0.3
    

    那么在终端中使用 ImageMagick 之前,你需要发出这些命令:

    export HOME=/Users/lserni/Desktop/test
    export MAGICK_HOME="$HOME/ImageMagick-7.0.3"
    export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib/"
    

    现在你可以试试 ImageMagick:

    convert logo: logo.gif
    identify logo.gif
    

    它应该给出类似的东西,

    logo.gif GIF 640x480 640x480+0+0 8-bit sRGB 256c 28.6KB ...
    

    原始答案

    dyld:库未加载:/ImageMagick-7.0.1/lib/libMagickCore-7.Q16HDRI.0.dylib 原因:找不到图片

    有几个可能的原因。最让我印象深刻的是库,实际上,而不是“那里”——“那里”意味着卷根中名为“ImageMagick-7.0.1”的目录 。该库可能位于/usr,或/lib,或/opt,但上面的错误表明它正在/ImageMagick-7.0.1 中寻找它。

    尝试在终端中输入以下内容以查询该路径:

    ls -la /ImageMagick-7.0.1/lib/libMagickCore-7.Q16HDRI.0.dylib
    

    我找到了一个参考,暗示如果 ldpath 包含错误的路径,您可以从可执行文件中重定向它,但我还没有尝试过

    install_name_tool -change /ImageMagick-7.0.1/lib/libMagickCore-7.Q16HDRI.0.dylib /usr/local/lib/libMagickCore-7.Q16HDRI.0.dylib /usr/local/bin/NameOfImageMagickBinaryYou'ReCalling
    

    (二进制可能是/usr/local/bin/convert

    ...而且,可能还有其他库和其他 IM 二进制文件存在相同问题。

    另一种可能性是该库存在,但它又试图加载不存在的其他库。 libPNG、JPEGlib、libTIFF 等都是可能的候选者。虽然您可以使用诸如strace 之类的工具来深入研究这个问题,但最好从一开始就检查安装。

    最后,您可能在 dylib 中或在通向该 dylib 的 path 中出现权限错误。如果您以 root 身份安装(或以 root 身份运行安装),则可能会发生这种情况,使用更安全的权限创建库目录(例如 750 而不是 755),然后您以不同和/或权限较低的用户身份运行应用程序/组。

    如果您通过 Homebrew 安装 ImageMagick,请检查 HB 的配置路径。您的症状让我非常想起如果安装脚本使用--prefix= 而不是--prefix=/usr/local 运行会发生什么。

    【讨论】:

      【解决方案3】:

      恕我直言,在 OS X 上安装、配置、卸载 ImageMagick 和许多其他软件包的最简单方法是使用 homebrew

      步骤 1

      转到homebrew website 并复制一行并将其粘贴到您的终端并运行它。

      第二步

      现在,决定你要搜索和安装什么包 - ImageMagickRedispandocgawk 等并使用以下命令之一查找包:

      brew search magick
      brew search redis
      brew search gawk
      

      第三步

      现在检查您希望 ImageMagick 使用哪些选项:

      brew options imagemagick
      

      样本输出

      --with-fftw
          Compile with FFTW support
      --with-fontconfig
          Build with fontconfig support
      --with-ghostscript
          Build with ghostscript support
      --with-hdri
          Compile with HDRI support
      --with-liblqr
          Build with liblqr support
      --with-librsvg
          Build with librsvg support
      --with-libwmf
          Build with libwmf support
      --with-little-cms
          Build with little-cms support
      --with-little-cms2
          Build with little-cms2 support
      --with-opencl
          Compile with OpenCL support
      --with-openexr
          Build with openexr support
      --with-openjpeg
          Build with openjpeg support
      --with-openmp
          Compile with OpenMP support
      --with-pango
          Build with pango support
      --with-perl
          Compile with PerlMagick
      --with-quantum-depth-16
          Compile with a quantum depth of 16 bit
      --with-quantum-depth-32
          Compile with a quantum depth of 32 bit
      --with-quantum-depth-8
          Compile with a quantum depth of 8 bit
      --with-webp
          Build with webp support
      --with-x11
          Build with x11 support
      --with-zero-configuration
          Disables depending on XML configuration files
      --without-freetype
          Build without freetype support
      --without-jpeg
          Build without jpeg support
      --without-libpng
          Build without libpng support
      --without-libtiff
          Build without libtiff support
      --without-magick-plus-plus
          disable build/install of Magick++
      --without-modules
          Disable support for dynamically loadable modules
      --without-threads
          Disable threads support
      --HEAD
          Install HEAD version
      

      第四步

      使用您选择的选项安装:

      brew install imagemagick --with-fftw --with-openmp --with-pango
      

      然后一切顺利。

      更新和升级包

      如果您想更新您的 homebrew 副本并更新您的所有软件包,请使用:

      brew update && brew upgrade
      

      删除包

      如果要删除 ImageMagick,请使用:

      brew rm imagemagick
      

      使用不同的选项重新安装软件包

      如果您想重新安装量子深度为 32 (Q32) 的 ImageMagick,例如,使用:

      brew reinstall imagemagick --with-quantum-depth-32
      

      疑难解答

      如果您对 homebrew 有任何问题,只需询问好医生出了什么问题,您就会得到一份关于所有问题的报告:

      brew doctor
      

      整洁的包

      我最喜欢的一些包是:

      ack、ansiweather、arpack、astyle、atk、atkmm、autoconf、basex、bash、boost、c-ares、cairo、cairomm、cimg、cmake、coreutils、cpanminus、curl、dbus、dcraw、doxygen、eigen、epstool 、exiftool、exiv2、faac、feh、ffmpeg、fftw、findutils、flac、fltk、fontconfig、fortune、freeimage、freetype、fswatch、gawk、gcc、gd、gdb、gdbm、gdk-pixbuf、geoip、gettext , ghostscript, giflib, gifsicle, gl2ps, glib, glibmm, glpk, gmp, gnu-sed, gnuplot, gnutls, gobject-introspection, graphicsmagick, grep, gsettings-desktop-schemas, gtk+3, harfbuzz, hdf5, hicolor-icon -主题,hiredis,icu4c,ilmbase,imagemagick,imlib2,isl,jasper,jbig2dec,jhead,jpeg,jpeg-turbo,jq,lame,leptonica,lftp,libagg,libbtbb,libcroco,libepoxy,libevent,libexif,libffi,libgcrypt , libgpg 错误, libgsf, libmpc, libogg, libpng, librsvg, libsigc++, libsvg, libsvg-cairo, libtasn1, libtiff, libtool, libusb, libusb-compat, libvo-aacenc, libvorbis, libxml2, libyaml, lighttpd, little-cms , little-cms2, llvm, lua, lynx, l z4, mad, matplotlib, metis, mpfr, nanomsg, net-snmp, netpbm, nettle, ngrep, nmap, node, numpy, octave, oniguruma, opencv3, openexr, openjpeg, openjpeg21, openssl, orc, p7zip, pandoc, pango, pangomm,并行,pcre,pdfgrep,perl,perlmagick,php56,php56-amqp,php56-imagick,pixman,pkg-config,鸭嘴兽,plotutils,pngcheck,pngcrush,pngquant,poppler,popt,potrace,pstoedit,py2cairo,pygobject3, pyqt,pyqt5,python,python3,qhull,qrupdate,qscintilla2,qt,qt5,rabbitmq-c,readline,redis,重命名,rocksdb,ruby,sane-backends,sdl,shared-mime-info,sip,smartmontools,snappy, sox,sqlite,sqliteman,套件稀疏,套件稀疏421,svg2png,swig,szip,标签,tbb,tesseract,tmux,transfig,树,ufraw,unixodbc,utf8proc,veclibfort,vips,webkit2png,webp,wget,wireshark, x264, xmlstarlet, xvid, xz, youtube-dl, 酒吧

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多