2008年8月4日月曜日

FreeBSDで ImageMagick... RMagick2 のインストール

FreeBSDにRMagickのインストール

環境
FreeBSD 6.3-RELEASE
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-freebsd6]
ImageMagick-nox11 6.4.1.8
RMagick 2.5.2

RMagickはImageMagicのRubyインターフェースです。
JPEG,JPEG2000,PNG,GIF,TIFFファイルの入出力に対応し、
画像サイズ変更や図形描画、文字の表示を行うことが出来ます。
Web画像のサムネイルの自動生成などが出来るようになります。


まずImageMagickをインストールします。

#cd /usr/ports/graphics/ImageMagick/
#make install

l
l Options for ImageMagick-nox11 6.4.1.8
l +------------------------------------------------------------------
l l[ ] X11 X11 support
l l[X] IMAGEMAGICK_TESTS Run bundled self-tests after build
l l[ ] IMAGEMAGICK_OPENMP Enable OpenMP for SMP
l l[X] IMAGEMAGICK_PERL Perl support
l l[ ] IMAGEMAGICK_MODULES Modules support (broken)
l l[X] IMAGEMAGICK_BZLIB Bzlib support
l l[X] IMAGEMAGICK_16BIT_PIXEL 16bit pixel support
l l[ ] IMAGEMAGICK_DJVU DJVU format support (needs threads)
l l[X] IMAGEMAGICK_LCMS LCMS support
l l[ ] IMAGEMAGICK_HDRI High Dynamic Range Images (HDRI)
l l[X] IMAGEMAGICK_TTF Freetype support
l l[X] IMAGEMAGICK_FONTCONFIG Fontconfig support
l l[X] IMAGEMAGICK_JPEG JPG format support
l l[ ] IMAGEMAGICK_OPENEXR OpenEXR support (needs threads)
l l[X] IMAGEMAGICK_PNG PNG format support
l +------------------------------------------------------------------
l [ OK ] Cancel
+------------------------------------------------------------------

サーバーで利用を考えているのでX11とAcrobat PDFとあまり使われなくなったTIFFサポートをはずしました。

[ ]X11
[ ]IMAGEMAGICK_TIFF
[ ]IMAGEMAGICK_PDF

でOKを選択
続いてRMagicをインストールします。
Ruby gem からインストールするので、先にgemをインストールしておいてください。
gemからRMagicをインストールします。


# gem install rmagick

ただこれで
Bulk updating Gem source index for: http://gems.rubyforge.org
Building native extensions. This could take a while...
Successfully installed rmagick-X.Y.Z

とメッセージが出てもインストールできていないことがあるらしい。
gemではインストールが成功したかは確認できないのが原因。
そこで、irbでインストールの状況を確認します。

# irb -rubygems -r RMagick
irb(main):001:0> puts Magick::Long_version

This is RMagick 2.5.2 ($Date: 2008/07/13 21:18:28 $) Copyright (C) 2008 by Timothy P. Hunter
Built with ImageMagick 6.4.1 08/03/08 Q16 http://www.imagemagick.org
Built for ruby 1.8.6
Web page: http://rmagick.rubyforge.org
Email: rmagick@rubyforge.org
=> nil

のように表示が出れば成功しています。
irbを終了します。

irb(main):002:0> exit

/usr/local/lib/ruby/gems/1.8/gems/rmagick-2.5.2
にインストールされ、そこにREADME.htmlが生成されます。
この説明書をよみながら次の手順を進めていきます。
バージョン番号は自分でインストールしたバージョンに読み替えてください。

#cd /usr/local/lib/ruby/gems/1.8/gems/rmagick-2.5.2

RMagicのテスト
#ruby setup.rb
---> lib
---> lib/rvg
<--- lib/rvg
<--- lib
---> ext
---> ext/RMagick
/usr/local/bin/ruby18 /usr/local/lib/ruby/gems/1.8/gems/rmagick-2.5.2/ext/RMagick/extconf.rb
checking for Ruby version >= 1.8.2... yes
checking for cc... 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... yes
checking for snprintf() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,magick/MagickCore.h... yes
checking for AcquireQuantumMemory() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,magick/MagickCore.h... yes
:
:
/usr/local/bin/ruby18 -I /usr/local/lib/ruby/gems/1.8/gems/rmagick-2.5.2/./lib -I /usr/local/lib/ruby/gems/1.8/gems/rmagick-2.5.2/./ext/RMagick writing_mode02.rb (example 185 of 185)
#

のように表示が出て、サンプルプログラムの実行が行われます。
エラーが5個以内なら正常終了します。

つづいて
#ruby setup.rb install
rm -f InstalledFiles
---> lib
mkdir -p /usr/local/lib/ruby/site_ruby/1.8
install RMagick.rb /usr/local/lib/ruby/site_ruby/1.8/
install RMagick2.so /usr/local/lib/ruby/site_ruby/1.8/
---> lib/rvg
mkdir -p /usr/local/lib/ruby/site_ruby/1.8/rvg
install stretchable.rb /usr/local/lib/ruby/site_ruby/1.8/rvg
install rvg.rb /usr/local/lib/ruby/site_ruby/1.8/rvg
install deep_equal.rb /usr/local/lib/ruby/site_ruby/1.8/rvg
install transformable.rb /usr/local/lib/ruby/site_ruby/1.8/rvg
install embellishable.rb /usr/local/lib/ruby/site_ruby/1.8/rvg
install describable.rb /usr/local/lib/ruby/site_ruby/1.8/rvg
install units.rb /usr/local/lib/ruby/site_ruby/1.8/rvg
install paint.rb /usr/local/lib/ruby/site_ruby/1.8/rvg
install container.rb /usr/local/lib/ruby/site_ruby/1.8/rvg
install clippath.rb /usr/local/lib/ruby/site_ruby/1.8/rvg
install pathdata.rb /usr/local/lib/ruby/site_ruby/1.8/rvg
install text.rb /usr/local/lib/ruby/site_ruby/1.8/rvg
install stylable.rb /usr/local/lib/ruby/site_ruby/1.8/rvg
install misc.rb /usr/local/lib/ruby/site_ruby/1.8/rvg
<--- lib/rvg
<--- lib
---> ext
---> ext/RMagick
mkdir -p /usr/local/lib/ruby/site_ruby/1.8/i386-freebsd6
install RMagick2.so /usr/local/lib/ruby/site_ruby/1.8/i386-freebsd6/.
<--- ext/RMagick
<--- ext

post-install.rb: installing documentation...
mkdir -p /usr/local/share/RMagick
mkdir -p /usr/local/share/RMagick/scripts
mkdir -p /usr/local/share/RMagick/ex
mkdir -p /usr/local/share/RMagick/ex/images
mkdir -p /usr/local/share/RMagick/css

これで完了。

動作確認
100x100ピクセルの赤色単色のgifファイルの生成を行ってみます。

[red.rb]
require 'RMagick'
include Magick
# Create a 100x100 red image.
f = Image.new(100,100) { self.background_color = "red" }
f.write("red.gif")
exit

#ruby red.rb

でred.gifが生成され表示してみて確認し完了!


ドキュメントのインストール先
/usr/local/lib/ruby/gems/1.8/gems/rmagick-2.5.2/doc/index.html

RMagickのインストール先
/usr/local/lib/ruby/gems/1.8/gems/rmagick-2.5.2/lib/

ご参考:
RMagic
http://studio.imagemagick.org/RMagick/doc/

ImageMagic
http://www.imagemagick.org/script/index.php

0 件のコメント: