Hatena::ブログ(Diary)

あたご型護衛艦日記

 | 

2010-07-08

sqlite3-rubyのインストール

| 02:09 | sqlite3-rubyのインストールを含むブックマーク

(同じ日にエントリを上げてしまってコメント欄が被っていたので分離しました)

unix及びrubyでwebアプリ開発のお勉強中に躓いたのでメモ。

sqlite3-rubyインストールするにはsqlite-develのインストールが必要だが、その方法を見るとどのサイトも

yum install sqlite-devel

と書いてあり、sudo権限がない場合や、ローカルにインストールしたい場合などにこれではインストール出来ず、必然的にsqlite3-rubyインストールできない。

これを解決するため、まずはsqliteを手動でローカルにインストールする。

$ mkdir sqlite
$ cd sqlite
$ wget http://www.sqlite.org/sqlite-amalgamation-3.6.23.1.tar.gz
$ tar vxzf sqlite-amalgamation-3.6.23.1.tar.gz
$ cd sqlite-3.6.23.1
$ ./configure --prefix=$HOME

後に

$ make

して

$ make install

インストール

ようやく本題のsqlite3-rubyのインストールに入れるが、普通にインストールすると

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

/home/atago/.rvm/rubies/ruby-head/bin/ruby extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. Try 'port install sqlite3 +universal' or 'yum install sqlite3-devel'
*** 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=/home/atago/.rvm/rubies/ruby-head/bin/ruby
        --with-sqlite3-dir
        --without-sqlite3-dir
        --with-sqlite3-include
        --without-sqlite3-include=${sqlite3-dir}/include
        --with-sqlite3-lib
        --without-sqlite3-lib=${sqlite3-dir}/lib


Gem files will remain installed in /home/atago/.rvm/gems/ruby-head/gems/sqlite3-ruby-1.3.0 for inspection.
Results logged to /home/atago/.rvm/gems/ruby-head/gems/sqlite3-ruby-1.3.0/ext/sqlite3/gem_make.out

とエラーを吐く。

sqlite-develをyumコマンドでなく、手作業でローカルにインストールしたため、パスを明示的にしてやらないといけないので、エラーに書かれているよう、オプションを指定して実行してあげる。

$ gem install sqlite3-ruby -- --with-sqlite3-dir=$HOME

これでようやくsqlite3-rubyインストールできた。

トラックバック - http://d.hatena.ne.jp/aTaGo/20100708/1278608962
 |