前の月 / 次の月 / 最新

MuraTaka 速記メモ / 2008-07

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

2008-07-31 Thu

Rails::ActiveForm のインストール [RubyOnRails]

a$ ruby script/plugin install http://svn.remvee.net/plugins/active_form
+ ./README
+ ./Rakefile
+ ./lib/active_form.rb
+ ./test/active_form_test.rb

イベント&セミナー - JRuby の最新動向と NetBeans, GlassFish, Solaris on Sun サーバ資料公開 [Ruby][Java]

資料が公開されている。
- イベント&セミナー - JRuby の最新動向と NetBeans, GlassFish, Solaris on Sun サーバ

2008-07-30 Wed

Eee PC と EMOBILE D02HW [Mobile]

会社の仕事外のことを外で行う場合はホットスポットを利用するか、アドエスをモデムにして作業をしている。
ホットスポットはなかなか速度も速く、近所のモスで作業するにはとても快適ではある。
ただ、当然ではあるが料金がかかる。。
そこまでの頻度での利用ではないため、1Day パスポートを必要に応じて使用してる。

今後サーバを管理する必要がでてきた。
場所を選ばず常時ネットを使える手段が必要となるのだが、さて何を選択すべきか悩んでしまった。

ホットスポットを契約しようと思っていたが、やはり特定の場所にいないといけないというのがひっかかる。
使えない場合は、アドエスのモデムで割り切ってしまうということも考えたが、
現在メインマシンとして使用している MacBook を常時持ち歩くことはまずできない。。
また、今回出先でネット環境がなかったため、アドエスをモデムに作業をしていたが、流石に遅すぎてイライラしてしまった。

・基本どこでもネット環境を利用できること
・常時持ち歩けるサーバ管理が可能なマシン
・自宅で作業ができないときに MacBook を持ち出して作業する際にそこそこ速いネット環境
という要件を安価に叶えられないかと考えた次第。

イー・モバイル + Eee PC が手に入れば・・・と思ってはいたのだが、そんなにお金もかけられないし・・・
と思っていたところに、コジマ電気のチラシ。
EMOBILE D02HW のスーパーライトデータプランにねんMAX 同時加入が条件で Eee PC は 100円。。
「スーパーライトデータプランにねんMAX」しか選択できないのが難点だが、まさに条件にピッタリ。
- 〔データ通信〕スーパーライトデータプラン イー・モバイル
速効購入することにした。

- ASUS Eee PC
- データ通信カード D02HW イー・モバイル

D02HW は MacBook (Tiger 10.4.11) でも問題なく利用できる。
Windows の環境が無くなっていた自宅環境に Windwos 環境ができたのもグッド。

2008-07-22 Tue

Rails への FCKeditor プラグインの導入 [RubyOnRails]

$ ruby script/plugin install svn://rubyforge.org/var/svn/fckeditorp/trunk/fckeditor/

2008-07-20 Sun

Rails::migration を行うときに redo をやっておく [RubyOnRails]

down メソッドの確認も行っておくに越したことはない。

$ rake db:migrate
$ rake db:migrate:redo
を必ずやっておこう。

Rails::Scaffold の取り消し [RubyOnRails]

ruby script/destroy scaffold Information

2008-07-19 Sat

Pagination_find プラグインを試す [RubyOnRails]

■ Pagination_find

ruby script/plugin install http://svn.cardboardrocket.com/paginating_find


モデルの find メソッドのオプションはそのまま使えるので扱い易い。
:page オプションを追加して find メソッドを使えばよい。
コントローラーの変更は1行。
conditions = {:order => "addresses.created_at desc", ....}

# Pagination_find の為の Option を追加。変更はここだけ。
conditions.update({:page => {:size => 5, :current => params[:page]}})

@addresses = Address.find(:all, conditions)

ちょっと問題が・・・
acts_as_taggable_on_steroids プラグインと合わせて使っているのだが、
acts_as_taggable_on_steroids プラグインの find_options_for_find_tagged_with メソッドを
使って条件オプションを追加した場合、:select は、distinct ありで記載される。
これはこれで問題ではないのだが、この後、pagination_find プラグインは、この :select を
書き換えに入る。
Classmethods::collect_count_options の中で、
      # If original :select includes the distinct keyword, then
      # also include it in the count query
      if rtn[:select].to_s.index(/\s*DISTINCT\s+/i) != nil
        rtn[:select] = "DISTINCT #{table}.#{primary_key}"
      else
        rtn[:select] = "#{table}.#{primary_key}"
      end
これも問題無いとはおもうのだが、最終的な実行結果としては、上記で埋められた :select 文字列の
さらに外側に 'DISTINCT' が埋め込まれて SQL 文が構成される。
当然これはエラー・・・
SQLException: near "DISTINCT": syntax error: SELECT count(DISTINCT DISTINCT ....

全て追ってないが、上記 DISTINCT キーワードが含まれていた時にそのキーワードは残す方の分岐を入れずに
rtn[:select] = "#{table}.#{primary_key}"
だけ残せば問題は起こらない。
後で時間とってちゃんと調べるか・・・

2008-07-17 Thu

CentOS サーバを用意する2 [CentOS]

テスト環境はとてもとても非力な環境。。

CPU: Celeron-2.20GHz
Mem: PC2700(DDR333)DDR SDRAM 256MB
HDD: 80GB

ダイエット運行を行っておく。

top - 21:47:59 up 2 days, 23:22,  4 users,  load average: 0.08, 0.03, 0.06
Tasks: 123 total,   2 running, 120 sleeping,   0 stopped,   1 zombie
Cpu(s):  0.3%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    223136k total,   162372k used,    60764k free,     8100k buffers
Swap:   458744k total,   101532k used,   357212k free,   113772k cached

■ ランレベルの変更

サーバ用途なので GUI はいらないランレベルを 3 にしておく。

- /etc/inittab
id:3:initdefault:

これだけで、
Mem:    223136k total,   112612k used,   110524k free,    10156k buffers
大分軽くなる。

■ 不要なサービスの停止

# chkconfig service_name off
で不要なサービスが自動で上がらないようにしておく。

以下止めておくサービス。
- apmd
  APM の監視はいらない。
- cups
  印刷なんてしない。
- gpm
  マウスサポートはいらない。
- hidd
  Bluetooth なんて使わない。
- isdn
  ISDN なんて使わない。
- mdmonitor
  RAID の状態監視はいらない・・・
- mdmpd
  同様にいらない。
- netfs
  ネットワーク上のファイルシステムは使わない
- nfs
  NFS は使用しない。
- nfslock
  NFS は使用しない。
- portmap
  NFS は使用しない。

再起動してみると、
Mem:    223136k total,   101580k used,   121556k free,     9492k buffers
またまた少ないメモリが節約されている。。

2008-07-13 Sun

CentOS Ruby を 1.8.6 に + Rails 環境再構築 [CentOS]

!! 【後記】結局 1.8.7 を使うことになった。。!!

最小構成でいれたこともあるが、結構苦労する。。

なるべく RPM でパッケージ管理を行っておきたいので、Ruby のソースから、RPM を作成し、RPM でインストールを行う。
これであれば、同じパッケージ管理上にて Ruby 1.8.6 の最新版の管理も行える。

■ Cent OS のバージョン

$ cat /etc/redhat-release 
CentOS release 5.2 (Final)

■ 事前準備

- gcc 関連のライブラリのインストール

入っていない場合には、いれておく。
取りあえず全て入れておいた方がいい。
# yum install gcc* compat-gcc* compat-lib*

と、パッケージグループでまとめて開発系は入れておいた方が安全か。
全てのパッケージを表示。
# yum grouplist hidden
開発系のパッケージグループを表示。
# yum groupinfo 'Development Libraries'
開発系のパッケージを全てインストール。
# yum groupinstall 'Development Libraries'

- rpmbuild のインストール

# yum install rpm-build

- zlib ライブラリの確認

gem のインストールで、zlib の zlib-devel が入っていない場合には嵌まることになる。
zlib に関するパッケージを確認しておく。dev が必要。
# yum list installed *zlib*
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
 * base: ftp.iij.ad.jp
 * addons: ftp.iij.ad.jp
Installed Packages
zlib.i386                                1.2.3-3                installed       
zlib-devel.i386                          1.2.3-3                installed      
もし入っていないと、
./lib/rubygems/spec_fetcher.rb:1:in `require': no such file to load -- zlib (LoadError)
        from ./lib/rubygems/spec_fetcher.rb:1
        from ./lib/rubygems/source_index.rb:10:in `require'
        from ./lib/rubygems/source_index.rb:10
        from ./lib/rubygems.rb:767:in `require'
        from ./lib/rubygems.rb:767
        from setup.rb:22:in `require'
        from setup.rb:22
というエラーに遭遇する。

- checkinstall のインストール

rpmforge リポジトリの追加。

$ wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

# rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

$ wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

vi /etc/yum.repos.d/rpmforge.repo
enabled = 1 を enabled = 0 に。

# rpm --import RPM-GPG-KEY.dag.txt
# yum --enablerepo=rpmforge list

checkinstall のインストール

# yum --enablerepo=rpmforge install checkinstall

■ 古いパッケージの削除

# yum remove ruby

■ Ruby の最新ソースの取得と make

Ruby の 1.8.6 系の最新のソースをとってくる。
$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p230.tar.gz

$ ./configure --prefix=/usr

$ make

■ RPM にする

# checkinstall --fstrans=no

/usr/src/redhat/RPMS/i386/ruby-1.8.6-p230-1.i386.rpm
が作成される。

■ RPM でのインストール

# rpm -Uvh /usr/src/redhat/RPMS/i386/ruby-1.8.6-p230-1.i386.rpm 

確認する。

$ ruby -v
ruby 1.8.6 (2008-06-20 patchlevel 230) [i686-linux]

# yum list *ruby*
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
 * addons: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
Installed Packages
ruby-1.8.6.i386                          p230-1                 installed       
Available Packages
eruby.i386                               1.0.5-6.1              base            
eruby-devel.i386                         1.0.5-6.1              base            
eruby-libs.i386                          1.0.5-6.1              base            
ruby.i386                                1.8.5-5.el5_1.1        base            
ruby-devel.i386                          1.8.5-5.el5_1.1        base            
ruby-docs.i386                           1.8.5-5.el5_1.1        base            
ruby-irb.i386                            1.8.5-5.el5_1.1        base            
ruby-libs.i386                           1.8.5-5.el5_1.1        base            
ruby-mode.i386                           1.8.5-5.el5_1.1        base            
ruby-rdoc.i386                           1.8.5-5.el5_1.1        base            
ruby-ri.i386                             1.8.5-5.el5_1.1        base            
ruby-tcltk.i386                          1.8.5-5.el5_1.1        base            
subversion-ruby.i386                     1.4.2-2.el5            base            

■ Gems のインストール

tar ファイルからまた RPM を作成して入れる。
$ wget http://rubyforge.org/frs/download.php/38646/rubygems-1.2.0.tgz

RPM の作成を行う。
# checkinstall -R "ruby setup.rb"
ここで注意すべきところは以下のところ。
**************************************
**** RPM package creation selected ***
**************************************

This package will be built according to these values: 

1 -  Summary: [ Package created with checkinstall 1.6.0 ]
2 -  Name:    [ rubygems ]
3 -  Version: [ 1.2.0 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ Applications/System ]
7 -  Architecture: [ i386 ]
8 -  Source location: [ rubygems-1.2.0 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ rubygems ]

Enter a number to change any of them or press ENTER to continue: 11
Enter the additional requirements: 
>> ruby-1.8.6                     

This package will be built according to these values: 

1 -  Summary: [ Package created with checkinstall 1.6.0 ]
2 -  Name:    [ rubygems ]
3 -  Version: [ 1.2.0 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ Applications/System ]
7 -  Architecture: [ i386 ]
8 -  Source location: [ rubygems-1.2.0 ]
9 -  Alternate source location: [  ]
10 - Requires: [ ruby-1.8.6 ]
11 - Provides: [ rubygems ]

Enter a number to change any of them or press ENTER to continue: 

Installing with ruby setup.rb...
パッケージの依存に ruby-1.8.6 を指定している。これは先に RPM を作成してインストールしたパッケージの名称。
また、10 - Requires を選ぶのに 11 を指定しているが、これは checkinstall のバグ?なのか1つプラスして番号を指定しないといけない。。

作成された RPM をインストール
# rpm -Uvh /usr/src/redhat/RPMS/i386/rubygems-1.2.0-1.i386.rpm
準備中...                ########################################### [100%]
   1:rubygems               ########################################### [100%]
確認。
[root@cent-vaio rubygems-1.2.0]# gem -v
1.2.0
# yum list installed rubygems
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
 * base: ftp.iij.ad.jp
 * addons: ftp.iij.ad.jp
Installed Packages
rubygems.i386                            1.2.0-1                installed     

■ Rails のインストール
# gem install rails -v 2.0.2
以前古いバージョンの Ruby にてインストールしていたものは、インストール前に削除している。

■ sqlite3

Cent OS 5.2 の場合、デフォルトで 3.3.6-2 が入っているようだが、devel も入っている必要がある。
また、swig も入っていないと後で嵌まる可能性があるのでこれも入っていなければ入れておく。

# yum install swig

■ sqlite3-ruby のインストール

# gem install sqlite3-ruby

確認。

$ irb --prompt simple
>> require 'rubygems'
=> true
>> require 'sqlite3'
LoadError: no such file to load -- sqlite3/database
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `gem_original_require'
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `require'
        from /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3.rb:1
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `gem_original_require'
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `require'
        from (irb):2
        from /usr/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:77

あれ?おかしい。ちゃんとインストールされているはずなんだけど・・・

# /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3
# ll
合計 76
-rw-r--r-- 1 root root  1745  7月 13 02:20 constants.rb
-rw-rw--w- 1 root root 24774  7月 13 02:20 database.rb
drwxr-xr-x 4 root root  4096  7月 13 02:20 driver
-rw-r--r-- 1 root root  2307  7月 13 02:20 errors.rb
-rw-r--r-- 1 root root  7480  7月 13 02:20 pragmas.rb
-rw-r--r-- 1 root root  4690  7月 13 02:20 resultset.rb
-rw-r--r-- 1 root root  6843  7月 13 02:20 statement.rb
-rw-rw--w- 1 root root  3738  7月 13 02:20 translator.rb
-rw-r--r-- 1 root root  1057  7月 13 02:20 value.rb
-rw-r--r-- 1 root root   153  7月 13 02:20 version.rb
いや・・・あり得ないパーミッションになっている。
なんで other が w のみなんだ・・・

translator.rb もおかしいので、直しておく。
# chmod 644 database.rb translator.rb 
[root@cent-vaio sqlite3]# ll
合計 76
-rw-r--r-- 1 root root  1745  7月 13 02:20 constants.rb
-rw-r--r-- 1 root root 24774  7月 13 02:20 database.rb
drwxr-xr-x 4 root root  4096  7月 13 02:20 driver
-rw-r--r-- 1 root root  2307  7月 13 02:20 errors.rb
-rw-r--r-- 1 root root  7480  7月 13 02:20 pragmas.rb
-rw-r--r-- 1 root root  4690  7月 13 02:20 resultset.rb
-rw-r--r-- 1 root root  6843  7月 13 02:20 statement.rb
-rw-r--r-- 1 root root  3738  7月 13 02:20 translator.rb
-rw-r--r-- 1 root root  1057  7月 13 02:20 value.rb
-rw-r--r-- 1 root root   153  7月 13 02:20 version.rb
再度確認。
$ irb --prompt simple
>> require 'rubygems'
=> true
>> require 'sqlite3'
=> true
>> exit
問題なし。

■ RMagick のインストール

当然、ImageMagck がインストールされていることが前提となる。
# yum list *magick*
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
 * addons: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
Installed Packages
ImageMagick.i386                         6.2.8.0-4.el5_1.1      installed       
Available Packages
ImageMagick-c++.i386                     6.2.8.0-4.el5_1.1      base            
ImageMagick-c++-devel.i386               6.2.8.0-4.el5_1.1      base            
ImageMagick-devel.i386                   6.2.8.0-4.el5_1.1      base            
ImageMagick-perl.i386                    6.2.8.0-4.el5_1.1      base    

dev 系も必要なはずだが・・・と思いつつ rmagick のインストールを行ってみたが、案の定無理だったので、dev 系もいれておく。
# yum install ImageMagick*
依存性の関係でかなりいろいろなものが入る。

また、ここで忘れてならないのが windows 系のフォント。
/usr/lib/ruby/gems/1.8/gems/rmagick-1.15.14/./lib/rvg/misc.rb:321:in `get_type_metrics': unable to read font `/usr/share/fonts/default/TrueType/verdana.ttf' (Magick::ImageMagickError)
なんてエラーをボロボロ見ることになる。

1つ1つ集めるのは大変なのでまとめて置いてあるものをダウンロードしインストールする。
以下の場所で取得できる。
$ wget http://www.zacharywhitley.com/linux/rpms/fedora/core/6/i386/msttcorefonts-2.0-1.noarch.rpm
インストールしておく。
# rpm -ivh msttcorefonts-2.0-1.noarch.rpm 
インストールされる場所と RMagick が要求するパスが異なるため、要求パスにシンボリックリンクをはっておく。

やっとこさ RMagick のインストール。

# gem install rmagick -v 1.15.14
確認。

$ irb --prompt simple
>> require 'rubygems'
=> true
>> require 'RMagick'
=> true
問題なし。

■ GetText を入れておく

日本語対応を行うので、gettext を入れておく。
# gem install gettext


結局ここまでがんばってみたが、Rails の動作確認を行っていたところ、NG。。。

*** glibc detected *** ruby: free(): invalid pointer: 0x0903fdf0 ***

うーむ・・・RPM 使わずにソースから直接入れてみるか。


ソースから直接入れてみたが、やはり落ちる・・・
1.8.6 p230 がダメなのか・・・

1.8.7 の安定版(p22)でためしてみる。

1.8.7 p22 は問題なかった。
なので、ここで書いた手順自体は問題ないだろう。
だけど以外と面倒くさかったし、ソースからコンパイルするかな・・・



今作っているアプリで動作確認済みなのは、
- CentOS release 5.2 (Final)
- ruby 1.8.7 (2008-06-20 patchlevel 22) [i686-linux]
- Rails 2.0.2
- rmagick 1.15.14
- sqlite3-ruby

- sqlite 3.3.6-2
- ImageMagick 6.2.8.0-4.el5_1.1
- gettext 0.14.6-4.el5

という組み合わせ。



- CentOS で構築する自宅サーバ : 最新バージョンの Ruby の導入
- CentOS で構築する自宅サーバ : RubyGems の導入
- アップデートの自動化
- @IT:ソースファイルからRPMファイルを作成するには

Referrer (Inside): [2008-09-14-1]

2008-07-12 Sat

yum に dlutter リポジトリを追加 [CentOS]

# vi /etc/yum.repos.d/dlutter.repo

以下を記述。
[dlutter]
name=Unsupported RHEL5 packages (lutter)
baseurl=http://people.redhat.com/dlutter/yum/rhel/5/$basearch/
enabled=0
gpgcheck=0

追加した dlutter リポジトリを参照させる場合には、enablerepo オプションを追加する。
# yum --enablerepo=dlutter list

CentOS サーバを用意する1 [CentOS]

今回サービス提供に予算、借りるサーバ環境の制約もあり、CentOS サーバを利用する。
その設定のためのメモ。

■ インストール

5.2 を利用する。
- www.centos.org - centos.org content

- Index of /pub/linux/centos/5.2/isos/i386

インストール時のメモ。
- iptables (ファイヤーウォール)は無効としておく。
  → 後で設定。
- SELinux
  → これも無効に。
- インストールするパッケージ
  → 取りあえず必要最低限のもの。Web サーバ(Apache)も後でバージョンを指定していれたいので、ここではインストールしない。

インストール後、アップデートをかけておく。

■ SSH の設定

パスワードでのログインは不可としておく。

# diff -u /etc/ssh/sshd_config /etc/ssh/sshd_config.org 
--- /etc/ssh/sshd_config        2008-07-12 20:15:17.000000000 +0900
+++ /etc/ssh/sshd_config.org    2008-05-25 03:00:30.000000000 +0900
@@ -36,7 +36,7 @@
 # Authentication:
 
 #LoginGraceTime 2m
-PermitRootLogin no
+#PermitRootLogin yes
 #StrictModes yes
 #MaxAuthTries 6
 
@@ -56,8 +56,8 @@
 
 # To disable tunneled clear text passwords, change to no here!
 #PasswordAuthentication yes
-PermitEmptyPasswords no
-PasswordAuthentication no
+#PermitEmptyPasswords no
+PasswordAuthentication yes
 
 # Change to no to disable s/key passwords
 #ChallengeResponseAuthentication yes

$HOME/.ssh 配下。
autohorized_keys にログインを行うユーザの公開鍵を登録しておく。
ファイルのパーミッションには注意。
$ cd
$ ls -la .ssh
drwx------ 2 hoge hoge 4096 Aug 12 00:36 .
drwx------ 8 hoge hoge 4096 Aug 12 00:37 ..
-rw------- 1 hoge hoge  239 Aug 12 00:37 authorized_keys
-rw------- 1 hoge hoge 1671  7月 12 17:15 id_rsa
-rw-r--r-- 1 hoge hoge  395  7月 12 18:07 id_rsa.pub

■ Subversion
# yum install subversion



- CentOS で構築する自宅サーバ : 基本的な設定
- 公開鍵暗号でSSHのセキュリティを高める

Ubuntu に rmagick をインストール [Ubuntu][Ruby]

最新の imagemagick をインストール後、rmagick を入れようとしたのだが、

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

/usr/bin/ruby1.8 extconf.rb install rmagick
checking for Ruby version >= 1.8.2... yes
checking for cc... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.3.0... no
Can't install RMagick 2.5.1. You must have ImageMagick 6.3.0 or later.

*** 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}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/usr/bin/ruby1.8


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/rmagick-2.5.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/rmagick-2.5.1/ext/RMagick/gem_make.out
ということで先に進めない。
checking for ImageMagick version >= 6.3.0... no
imagemagick のバージョンで 6.3.0 以上を要求しているわけだが、imagemagick 自体は、
$ apt-cache show imagemagick
Package: imagemagick
Priority: optional
Section: graphics
Installed-Size: 3156
Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Luciano Bello <luciano@linux.org.ar>
Architecture: i386
Version: 7:6.2.4.5.dfsg1-2ubuntu1
Replaces: imagemagick-doc, geomview (<= 1.8.0)
Depends: libbz2-1.0, libc6 (>= 2.6-1), libfreetype6 (>= 2.3.5), libice6 (>= 1:1.0.0), libjasper1 (>= 1.900.1), libjpeg62, liblcms1 (>= 1.15-1), libmagick9, libpng12-0 (>= 1.2.13-4), libsm6, libtiff4, libx11-6, libxext6, libxml2 (>= 2.6.29), libxt6, zlib1g (>= 1:1.2.3.3.dfsg-1)
Suggests: gs, html2ps, lpr
Conflicts: imagemagick-doc
Filename: pool/main/i/imagemagick/imagemagick_6.2.4.5.dfsg1-2ubuntu1_i386.deb
Size: 739858
MD5sum: 8dc22ef995592451544ee264fd0a28ec
SHA1: 18dd7676168bde164f8f0962dfe10df75ebe197c
SHA256: 032883262a7be8064b3b5e7cb3cf0fea4fd7e30b73a89591cb9f301410eba20f
Description-ja: 画像操作プログラム
 Imagemagick は、各種画像フォーマット (JPEG、TIFF、PhotoCD、PBM、XPM、など) を操作するためのプログラムの集合体です。全ての操作は、シェルコマンドに加え、 X11 グラフィカルインターフェイス (ディスプレイ) を通じて行われます。
 .
 実行可能なエフェクト: カラーマップ操作、チャンネル操作、サムネイル作成、 画像の回転、画像の切り取り、画像の歪曲など...
 .
 本パッケージは、postscript ファイルの読み込みのために postscript インタプリタ (gs) を推奨しますが、(posrscript を読み込まない限り) gs 無しでも十分動きます。
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu
Version: 7:6.2.4.5.dfsg1-2ubuntu1 となっている。
これは v6.2.4 という読み方でよいのかな?
$ convert -v | more
Version: ImageMagick 6.2.4 10/02/07 Q16 http://www.imagemagick.org
それっぽい。

ということで、6.3.0 以上を探さないといけないわけだが、どうするか?

- Installing RMagick on Linux and FreeBSD
  via UbuntuでRMagick - たけひこ日記
に情報がある。

現在、以下の環境となっているが、
$ dpkg -l | grep magick
ii  graphicsmagick-libmagick-dev-compat        1.1.8-1                              image processing libraries providing ImageMa
ii  imagemagick                                7:6.2.4.5.dfsg1-2ubuntu1             Image manipulation programs
ii  libgraphics-magick-perl                    1.1.8-1                              format-independent image processing - perl i
ii  libgraphicsmagick++1                       1.1.8-1                              format-independent image processing - C++ sh
ii  libgraphicsmagick++1-dev                   1.1.8-1                              format-independent image processing - C++ de
ii  libgraphicsmagick1                         1.1.8-1                              format-independent image processing - C shar
ii  libgraphicsmagick1-dev                     1.1.8-1                              format-independent image processing - C deve
ii  libmagick9                                 7:6.2.4.5.dfsg1-2ubuntu1             Image manipulation library
ii  librmagick-ruby                            1.15.7-1                             ImageMagick API for Ruby
ii  librmagick-ruby1.8                         1.15.7-1                             ImageMagick API for Ruby
あと、これに libmagick++9-dev も入れておいた方がよさげだ。
$ sudo apt-get install libmagick++9-dev

再度実施。
$ sudo gem install rmagick -v 1.15.14
Building native extensions.  This could take a while...
Successfully installed rmagick-1.15.14
OK!

Mac OS X (10.4) での svn+ssh の失敗 [Mac][Subversion]

Mac OS X (10.4)にてローカルでのチェックアウト(file プロトコル)は全く問題ないのだが、
リモート環境から svn+ssh でチェックアウトをしようと思うと、

bash: line 1: svnserve: command not found
svn: 接続が突然閉じました
パスの問題だと思うのだが、MacPorts でインストールを行った
/opt/local/bin/svnserve
にはちゃんとパスは通っており、ローカルでは全く問題なく起動できる。
- Mac OSX * Subversion (what a bringdown)
に同様の人がいた。/bin/svnserve にシンボリックリンクをはって再度試す。
$ sudo ln -s /opt/local/bin/svnserve /bin/svnserve

問題なし。

Ubuntu に sqlite3-ruby をインストール [Ubuntu][Ruby]

Mac OS X 10.4 では、元々 sqlite3 がインストールされているので、すんなり gem で sqlite3-ruby を入れて終わりだったが、結論から先に書くと、以下のものをインストールしておく必要がある。

$ sudo apt-get install ruby1.8-dev
$ sudo apt-get install sqlite3 libsqlite3-dev libsqlite3-ruby
最後に、
$ sudo gem install sqlite3-ruby
必要なものは後から入れる Ubuntu のポリシーからはもっともな話か。
以下、作業ログ。


さて、Gem::GemRunner のエラーが無くなったと思ったら、今度は sqlite3-ruby のインストールで以下のエラー。
$ sudo gem install sqlite3-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
        ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb install sqlite3-ruby
extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
        from extconf.rb:1


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/ext/sqlite3_api/gem_make.out

どうやら、mkmf は ruby1.8-dev に含まれているようで、現在の Ubuntu 環境にはこのパッケージは含めていない。
- RubyForge: FuseFS: help
$ dpkg -l | grep ruby
ii  libgems-ruby1.8                            0.9.4-1ubuntu1                       libraries to use RubyGems, a package managem
ii  libopenssl-ruby1.8                         1.8.6.36-1ubuntu3.2                  OpenSSL interface for Ruby 1.8
ii  libreadline-ruby1.8                        1.8.6.36-1ubuntu3.2                  Readline interface for Ruby 1.8
ii  libruby1.8                                 1.8.6.36-1ubuntu3.2                  Libraries necessary to run Ruby 1.8
ii  ruby                                       1.8.2-1                              An interpreter of object-oriented scripting 
ii  ruby1.8                                    1.8.6.36-1ubuntu3.2                  Interpreter of object-oriented scripting lan
ii  rubygems                                   0.9.4-1ubuntu1                       package management framework for Ruby librar

入れておく。

$ sudo apt-get install ruby1.8-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
Reading state information... 完了            
以下のパッケージが新たにインストールされます:
  ruby1.8-dev
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 85 個。
741kB のアーカイブを取得する必要があります。
展開後に追加で 1729kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com gutsy-updates/main ruby1.8-dev 1.8.6.36-1ubuntu3.2 [741kB]
741kB を 0s で取得しました (1368kB/s)
未選択パッケージ ruby1.8-dev を選択しています。
(データベースを読み込んでいます ... 現在 169862 個のファイルとディレクトリがインストールされています。)
(.../ruby1.8-dev_1.8.6.36-1ubuntu3.2_i386.deb から) ruby1.8-dev を展開しています...
ruby1.8-dev (1.8.6.36-1ubuntu3.2) を設定しています ...

また、sqlite3-ruby のインストールに失敗するのだが、そもそも sqlite3 を入れていない。
インストールしておく。
$ sudo apt-get install sqlite3
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
Reading state information... 完了            
提案パッケージ:
  sqlite3-doc
以下のパッケージが新たにインストールされます:
  sqlite3
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 85 個。
22.9kB のアーカイブを取得する必要があります。
展開後に追加で 86.0kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com gutsy/universe sqlite3 3.4.2-1build1 [22.9kB]
22.9kB を 0s で取得しました (268kB/s)
未選択パッケージ sqlite3 を選択しています。
(データベースを読み込んでいます ... 現在 169892 個のファイルとディレクトリがインストールされています。)
(.../sqlite3_3.4.2-1build1_i386.deb から) sqlite3 を展開しています...
sqlite3 (3.4.2-1build1) を設定しています ...

で、またここでエラー。
$ sudo gem install sqlite3-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
        ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb install sqlite3-ruby
checking for fdatasync() in -lrt... no
checking for sqlite3.h... no
*** 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}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/usr/bin/ruby1.8
        --with-sqlite3-dir
        --without-sqlite3-dir
        --with-sqlite3-include
        --without-sqlite3-include=${sqlite3-dir}/include
        --with-sqlite3-lib
        --without-sqlite3-lib=${sqlite3-dir}/lib
        --with-rtlib
        --without-rtlib


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/ext/sqlite3_api/gem_make.out

- libsqlite3-dev
が必要なのだろう。

$ sudo apt-get install libsqlite3-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
Reading state information... 完了            
提案パッケージ:
  sqlite3-doc
以下のパッケージが新たにインストールされます:
  libsqlite3-dev
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 85 個。
268kB のアーカイブを取得する必要があります。
展開後に追加で 737kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com gutsy/main libsqlite3-dev 3.4.2-1build1 [268kB]
268kB を 0s で取得しました (1790kB/s)
未選択パッケージ libsqlite3-dev を選択しています。
(データベースを読み込んでいます ... 現在 171066 個のファイルとディレクトリがインストールされています。)
(.../libsqlite3-dev_3.4.2-1build1_i386.deb から) libsqlite3-dev を展開しています...
libsqlite3-dev (3.4.2-1build1) を設定しています ...

再度 sqlite3-ruby をインストール。
$ sudo gem install sqlite3-ruby
Building native extensions.  This could take a while...
Successfully installed sqlite3-ruby-1.2.2
1 gem installed
Installing ri documentation for sqlite3-ruby-1.2.2...
Installing RDoc documentation for sqlite3-ruby-1.2.2...

問題無くインストールされた。

しかし、これだけでは実際に使用しようと思い、
require 'sqlite3/database'
しても
LoadError: no such file to load -- sqlite3/database
となる。sqlite3-ruby だけでは足りないようなので、
libsqlite3-ruby
もイントールしておく。

$ sudo apt-get install libsqlite3-ruby
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
Reading state information... 完了            
以下の特別パッケージがインストールされます:
  libsqlite3-ruby1.8
以下のパッケージが新たにインストールされます:
  libsqlite3-ruby libsqlite3-ruby1.8
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 85 個。
53.9kB のアーカイブを取得する必要があります。
展開後に追加で 303kB のディスク容量が消費されます。
続行しますか [Y/n]? Y
取得:1 http://jp.archive.ubuntu.com gutsy/universe libsqlite3-ruby1.8 1.2.1-1 [48.6kB]
取得:2 http://jp.archive.ubuntu.com gutsy/universe libsqlite3-ruby 1.2.1-1 [5332B]
53.9kB を 0s で取得しました (388kB/s)
未選択パッケージ libsqlite3-ruby1.8 を選択しています。
(データベースを読み込んでいます ... 現在 171081 個のファイルとディレクトリがインストールされています。)
(.../libsqlite3-ruby1.8_1.2.1-1_i386.deb から) libsqlite3-ruby1.8 を展開しています...
未選択パッケージ libsqlite3-ruby を選択しています。
(.../libsqlite3-ruby_1.2.1-1_all.deb から) libsqlite3-ruby を展開しています...
libsqlite3-ruby1.8 (1.2.1-1) を設定しています ...
libsqlite3-ruby (1.2.1-1) を設定しています ...

Ubuntu で Gem::GemRunner [Ubuntu]

sudo gem update --system
を実施していたのだが、Gem でエラーがでるようになった。
$ gem -v
/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)
うーむ・・・

同じような人が。
- Ubuntuでrubygemsを1.0.1にudpateしたら"uninitialized constant Gem::GemRunner(NameError)"のエラー - iビジネス&テクノロジー

とりあえず /usr/bin/gem の require を変更して様子をみる。
$ diff -u gem gem.back
--- gem 2008-07-12 01:27:24.000000000 +0900
+++ gem.back    2007-08-24 14:18:45.000000000 +0900
@@ -6,7 +6,7 @@
 #++
 
 
-require 'rubygems/gem_runner'
+require 'rubygems'
 Gem.manage_gems
 
 required_version = Gem::Version::Requirement.new(">= 1.8.0")

$ gem -v
1.2.0

2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2009-01-02 23:56