私はRuby 1.8.6を使用する以前のRailsアプリケーションを維持しています。私はアプリケーションを開発するためにLinux Mint 18を新しくインストールして実行しようとしています。私はサーバーと同じ(ほぼ)バージョンのImageMagickをインストールできましたが、rmagick gemをインストールするのは難しくありませんでした。
これが私たちのサーバーにあるので、rmagick v2.2.2をインストールする必要があります。ただし、このエラーが発生します。下記をご覧ください。
$ gem install rmagick -v 2.2.2
Building native extensions. This could take a while...
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.
/home/max/.rvm/rubies/ruby-1.8.6-p420/bin/ruby extconf.rb
checking for Ruby version >= 1.8.2... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.3.0... yes
checking for HDRI disabled version of ImageMagick... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for magick/MagickCore.h... yes
checking for InitializeMagick() in -lMagick... no
checking for InitializeMagick() in -lMagickCore... no
Can't install RMagick 2.2.2. Can't find libMagick or one of the dependent libraries. Check the mkmf.log file for more detailed information.
Gem files will remain installed in /home/max/.rvm/gems/ruby-1.8.6-p420@elearning-resource/gems/rmagick-2.2.2 for inspection.
Results logged to /home/max/.rvm/gems/ruby-1.8.6-p420@elearning-resource/gems/rmagick-2.2.2/ext/RMagick/gem_make.ou
apt-getを使用していくつかの追加の依存関係をインストールする必要があるようですが、何がわかりません。知っていても、私が持っているImageMagickの古いバージョンを使用するには、古いバージョンをインストールする必要があるかもしれませんか?
mkmf.log ファイルは次の場所にあります。 http://pastebin.com/h9dbGr1k
アドバイスありがとうございます。ありがとうございます!
答え1
最新バージョンのImageMagickは追加のパラメータを関数に渡すため、構成にInitializeMagick()関数が見つかりません。 RMagickバージョンで探している署名の場合、上記のようにImageMagick <= 6.4.1が必要になる場合があります。ここ、ディストリビューションでパッケージとして使用することはできません。ただし、最新バージョンのImageMagickを使用して構築するためにgemを変更することは価値があるかもしれません。古いライブラリには、多くの場合、次のような既知の脆弱性がたくさんあるためです。CVE-2016-3714またはCVE-2012-1185画像を解析すると、両方ともリモートでコードが実行される可能性があります。