« Xamarin Android Playerが動かない Main CentOS: remiでremi-php56が見... »

Ruby: rmagick更新

メール添付の画像ファイルの読み取り用のRubyスクリプトがエラーになるようになっちゃって、エラーメッセージを見てみるとどうもRMagick絡みでのエラーの模様。

Command output: [DEPRECATION] requiring
"RMagick" is deprecated. Use "rmagick" instead
/usr/lib64/ruby/1.9.1/rubygems/custom_require.rb:60:in `require':
libMagickCore.so.2: cannot open shared object file: No such file or
directory - /usr/lib64/ruby/gems/1.9.1/gems/rmagick-2.15.2/lib/RMagick2.so
(LoadError)
...

で、RMagickを更新するのかと思ってgemで作業したらエラー

# gem install rmagick
Building native extensions. This could take a while...
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb
checking for gcc... yes
checking for Magick-config... no
checking for pkg-config... yes
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
checking for outdated ImageMagick version (<= 6.4.9)... *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/ --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/bin/ruby Gem files will remain installed in /usr/lib64/ruby/gems/1.9.1/gems/rmagick-2.15.4 for inspection. Results logged to /usr/lib64/ruby/gems/1.9.1/gems/rmagick-2.15.4/ext/RMagick/gem_make.out

ImageMagickがサーバ上で削除されちゃったか、古くなってしまっていたためらしい。これをyumでインストール:

# yum install ImageMagick
読み込んだプラグイン:fastestmirror, priorities, refresh-packagekit, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
 * base: centos.usonyx.net
 * elrepo: ftp.cc.uoc.gr
 * extras: mirror.vodien.com
 * updates: mirror.vodien.com 依存性の解決をしています
 --> トランザクションの確認を実行しています。
---> Package ImageMagick.x86_64 0:6.7.2.7-2.el6 will be インストール
--> 依存性の処理をしています: libwmf-0.2.so.7()(64bit) のパッケージ: ImageMagick-6.7.2.7-2.el6.x86_64
--> トランザクションの確認を実行しています。
---> Package libwmf.x86_64 0:0.2.8.4-25.el6_7 will be インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
パッケージ アーキテクチャ
バージョン リポジトリー 容量
================================================================================
インストールしています:
ImageMagick x86_64 6.7.2.7-2.el6 base 1.9 M
依存性関連でのインストールをします。:
libwmf x86_64 0.2.8.4-25.el6_7 updates 132 k

トランザクションの要約
================================================================================
インストール 2 パッケージ

総ダウンロード容量: 2.0 M
インストール済み容量: 7.4 M
これでいいですか? [y/N]y
パッケージをダウンロードしています:
(1/2): ImageMagick-6.7.2.7-2.el6.x86_64.rpm | 1.9 MB 00:00
(2/2): libwmf-0.2.8.4-25.el6_7.x86_64.rpm | 132 kB 00:00
--------------------------------------------------------------------------------
合計 349 kB/s | 2.0 MB 00:05
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
インストールしています : libwmf-0.2.8.4-25.el6_7.x86_64 1/2
インストールしています : ImageMagick-6.7.2.7-2.el6.x86_64 2/2
Verifying : libwmf-0.2.8.4-25.el6_7.x86_64 1/2
Verifying : ImageMagick-6.7.2.7-2.el6.x86_64 2/2

インストール:
ImageMagick.x86_64 0:6.7.2.7-2.el6

依存性関連をインストールしました:
libwmf.x86_64 0:0.2.8.4-25.el6_7

完了しました!

しかし、これだけでは不足だったのか、どうもImageMagick-develも必要だったらしく、またエラーになってしまったのでこちらもインストール(rmagick用にはこちらだけでもよかったのかも?):

# yum install ImageMagick-devel
読み込んだプラグイン:fastestmirror, priorities, refresh-packagekit, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
* base: centos.usonyx.net
* elrepo: ftp.cc.uoc.gr
* extras: mirror.vodien.com
* updates: mirror.vodien.com
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package ImageMagick-devel.x86_64 0:6.7.2.7-2.el6 will be インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
パッケージ アーキテクチャ
バージョン リポジトリー
容量
================================================================================
インストールしています:
ImageMagick-devel x86_64 6.7.2.7-2.el6 base 94 k

トランザクションの要約
================================================================================
インストール 1 パッケージ

総ダウンロード容量: 94 k
インストール済み容量: 424 k
これでいいですか? [y/N]y
パッケージをダウンロードしています:
ImageMagick-devel-6.7.2.7-2.el6.x86_64.rpm | 94 kB 00:00
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
インストールしています : ImageMagick-devel-6.7.2.7-2.el6.x86_64 1/1
Verifying : ImageMagick-devel-6.7.2.7-2.el6.x86_64 1/1

インストール:
ImageMagick-devel.x86_64 0:6.7.2.7-2.el6

完了しました!

このあとgemでrmagickをインストール:

# gem install rmagick
Building native extensions. This could take a while...
Successfully installed rmagick-2.15.4
1 gem installed
Installing ri documentation for rmagick-2.15.4...
Installing RDoc documentation for rmagick-2.15.4...

あと、バーコード認識用に使っていたzbarもなぜかエラー(↓)になっちゃってて、こちらも再インストールした。

# ruby -e 'require "zbar"'
/usr/lib64/ruby/gems/1.9.1/gems/zbar-0.2.2/lib/zbar/lib.rb:12:in `rescue in ': Didn't find libzbar on your system (LoadError)
Please install zbar (http://zbar.sourceforge.net/) or set ZBAR_LIB if it's in a weird place
FFI::Library::ffi_lib() failed with error: library names list must not be empty
from /usr/lib64/ruby/gems/1.9.1/gems/zbar-0.2.2/lib/zbar/lib.rb:9:in `'
from /usr/lib64/ruby/gems/1.9.1/gems/zbar-0.2.2/lib/zbar/lib.rb:1:in `'
...

gemでインストール:

# gem install zbar

zbar: This gem depends on the "zbar" C library.
If it's not installed, `require "zbar"` will fail.

Successfully installed zbar-0.2.2
1 gem installed
Installing ri documentation for zbar-0.2.2...
Installing RDoc documentation for zbar-0.2.2...

zbarのライブラリ自体も再インストールが必要だった(リポジトリにepelを指定):

# yum --enablerepo=epel install zbar
読み込んだプラグイン:fastestmirror, priorities, refresh-packagekit, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
epel/metalink | 5.6 kB 00:00
* base: centos.usonyx.net
* elrepo: ftp.cc.uoc.gr
* epel: mirror.wanxp.id
* extras: mirror.readyspace.com
* updates: mirror.vodien.com
epel | 4.3 kB 00:00
http://mirror.wanxp.id/epel/6/x86_64/repodata/d85fb3f508595e4e5ee2a425b729e19696f44916af9e52baf249441f62f207e4-primary.sqlite.bz2: [Errno 12] Timeout on http://mirror.wanxp.id/epel/6/x86_64/repodata/d85fb3f508595e4e5ee2a425b729e19696f44916af9e52baf249441f62f207e4-primary.sqlite.bz2: (28, 'Operation too slow. Less than 1 bytes/sec transfered the last 30 seconds')
他のミラーを試します。
http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/repodata/d85fb3f508595e4e5ee2a425b729e19696f44916af9e52baf249441f62f207e4-primary.sqlite.bz2: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
他のミラーを試します。
http://mirror.premi.st/epel/6/x86_64/repodata/d85fb3f508595e4e5ee2a425b729e19696f44916af9e52baf249441f62f207e4-primary.sqlite.bz2: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
他のミラーを試します。
epel/primary_db | 5.7 MB 00:00
119 packages excluded due to repository priority protections
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package zbar.x86_64 0:0.10-25.el6 will be インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
パッケージ アーキテクチャ バージョン リポジトリー 容量
================================================================================
インストールしています:
zbar x86_64 0.10-25.el6 epel 143 k

トランザクションの要約
================================================================================
インストール 1 パッケージ

総ダウンロード容量: 143 k
インストール済み容量: 298 k
これでいいですか? [y/N]y
パッケージをダウンロードしています:
zbar-0.10-25.el6.x86_64.rpm | 143 kB 00:00
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
インストールしています : zbar-0.10-25.el6.x86_64 1/1
Verifying : zbar-0.10-25.el6.x86_64 1/1

インストール:
zbar.x86_64 0:0.10-25.el6

完了しました!

Leave a comment

Your comment