RMagick で LoadError: libMagickCore-6.Q16.so.2 エラー

スポンサーリンク

昨日の RMagick インストールの続き。いざ RMagick を使おうとしたら、ロードエラーが出ました。

RMagick を レンタルサーバーにインストールするのではまった | EasyRamble

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

gem require での LoadError: libMagickCore-6.Q16.so.2 エラー

サーバーに SSH でログイン後、irb に入って Bundler.require してみるとエラー。RMagick の require でこけてます。RMagick2.so から呼ばれるはずの libMagickCore-6.Q16.so.2 がオープンできないと。

irb から一旦出て、libMagickCore-6.Q16.so.2 がどこにあるか探す。

LD_LIBRARY_PATH 環境変数に libMagickCore-6.Q16.so.2 のパスを設定すると良いとのこと。

できた。~/.bashrc に設定しておきます。

no decode delegate for this image format エラー

続いて、RMagick を利用するテスト用のスクリプトを実行したところ、今度は、no decode delegate for this image format エラー。

ImageMagick のフォーマットのサポートを確認。

なんてことだ。png がサポートされてない…。

libpng を入れた後 ImageMagick をインストールやり直し

png サポートのために libpng を入れます。

ImageMagick をアンインストールして、インストールをやり直します。CPPFLAGS, LDFLAGS を指定する。これを指定しないと、ImageMagick の configure 時のPNGのオプションが「–with-png=yes no」となり、PNGがサポートされませんでした。

ImageMagick がインストール完了したら、もう一度サポートするフォーマットを確認。

無事に PNG フォーマットをサポートするように ImageMagick をインストールできました。テスト用のスクリプトで試したところ、一応これでコンソールからであれば、RMagick でPNGファイルを作成・操作できるようになりました。CGI スクリプトから利用する場合は、LD_LIBRARY_PATH に値を設定する手段がなく(分からず)断念。root 権限がないと、デフォルトで有効な PATH に libMagickCore-6.Q16.so.2 へのシンボリックリンクを張れないなどが理由。深追いはやめてここで終了、これ以上やるなら、素直に自由度高いVPS等のほうが良さそうです。

スポンサーリンク
私は以下の本で Ruby を覚えました。メタプログラミングRubyは入門を超える内容で難しめです。
 
スポンサーリンク

Leave Your Message!