・sqlite のインストール
DB の migration がうまくいかない。
どうも sqlite3-ruby が入っていないのが原因らしいので、gem install してみる。
# 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/local/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 ***
(略)
yum install しろというので、してみる。
[root@t110 redmine]# yum install sqlite-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: www.ftp.ne.jp
* base: www.ftp.ne.jp
* extras: www.ftp.ne.jp
* updates: www.ftp.ne.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package sqlite-devel.i386 0:3.3.6-5 set to be updated
---> Package sqlite-devel.x86_64 0:3.3.6-5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
==========================================================================================
Package Arch Version Repository Size
==========================================================================================
Installing:
sqlite-devel i386 3.3.6-5 base 257 k
sqlite-devel x86_64 3.3.6-5 base 257 k
Transaction Summary
==========================================================================================
Install 2 Package(s)
Upgrade 0 Package(s)
Total download size: 515 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): sqlite-devel-3.3.6-5.x86_64.rpm | 257 kB 00:01
(2/2): sqlite-devel-3.3.6-5.i386.rpm | 257 kB 00:01
------------------------------------------------------------------------------------------
Total 206 kB/s | 515 kB 00:02
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : sqlite-devel 1/2
Installing : sqlite-devel 2/2
Installed:
sqlite-devel.i386 0:3.3.6-5 sqlite-devel.x86_64 0:3.3.6-5
Complete!
[root@t110 redmine]#
ここまでは問題なさそうなので、もう一度 gem install してみる。
# 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/local/bin/ruby extconf.rb
checking for sqlite3.h... yes
checking for sqlite3_libversion_number() in -lsqlite3... yes
checking for rb_proc_arity()... no
checking for sqlite3_initialize()... no
sqlite3-ruby only supports sqlite3 versions 3.6.16+, please upgrade!
*** extconf.rb failed ***
要するに 3.3.6 だと古すぎるそうだ。
sqlite の最新のものをインストールすることにする。
公式サイト ( http://www.sqlite.org/download.html ) から 3.7.0 を download する。
この頃になると、
もう疲れているので、何も考えずに。ダウンロード、展開、./configure、make、make install、と、呪文のように黙々と実行する。
# ./configure
(略)
configure: creating ./config.status
config.status: creating Makefile
config.status: creating sqlite3.pc
config.status: executing depfiles commands
# make
(略)
creating sqlite3
# make install
make[1]: ディレクトリ `/usr/local/sqlite-3.7.0' に入ります
test -z "/usr/local/lib" || mkdir -p -- "/usr/local/lib"
/bin/sh ./libtool --mode=install /usr/bin/install -c 'libsqlite3.la' '/usr/local/lib/libsqlite3.la'
/usr/bin/install -c .libs/libsqlite3.so.0.8.6 /usr/local/lib/libsqlite3.so.0.8.6
(cd /usr/local/lib && { ln -s -f libsqlite3.so.0.8.6 libsqlite3.so.0 || { rm -f libsqlite3.so.0 && ln -s libsqlite3.so.0.8.6 libsqlite3.so.0; }; })
(cd /usr/local/lib && { ln -s -f libsqlite3.so.0.8.6 libsqlite3.so || { rm -f libsqlite3.so && ln -s libsqlite3.so.0.8.6 libsqlite3.so; }; })
/usr/bin/install -c .libs/libsqlite3.lai /usr/local/lib/libsqlite3.la
/usr/bin/install -c .libs/libsqlite3.a /usr/local/lib/libsqlite3.a
chmod 644 /usr/local/lib/libsqlite3.a
ranlib /usr/local/lib/libsqlite3.a
PATH="$PATH:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/usr/local/bin" || mkdir -p -- "/usr/local/bin"
/bin/sh ./libtool --mode=install /usr/bin/install -c 'sqlite3' '/usr/local/bin/sqlite3'
/usr/bin/install -c .libs/sqlite3 /usr/local/bin/sqlite3
test -z "/usr/local/include" || mkdir -p -- "/usr/local/include"
/usr/bin/install -c -m 644 'sqlite3.h' '/usr/local/include/sqlite3.h'
/usr/bin/install -c -m 644 'sqlite3ext.h' '/usr/local/include/sqlite3ext.h'
test -z "/usr/local/share/man/man1" || mkdir -p -- "/usr/local/share/man/man1"
/usr/bin/install -c -m 644 './sqlite3.1' '/usr/local/share/man/man1/sqlite3.1'
test -z "/usr/local/lib/pkgconfig" || mkdir -p -- "/usr/local/lib/pkgconfig"
/usr/bin/install -c -m 644 'sqlite3.pc' '/usr/local/lib/pkgconfig/sqlite3.pc'
make[1]: ディレクトリ `/usr/local/sqlite-3.7.0' から出ます
特に指定もしていないのだが、
/usr/local/ にインストールされていることが分かる。
もう一度、gem install を実行する。
# gem install sqlite3-ruby
Building native extensions. This could take a while...
Successfully installed sqlite3-ruby-1.3.1
1 gem installed
Installing ri documentation for sqlite3-ruby-1.3.1...
Enclosing class/module 'mSqlite3' for class Statement not known
No definition for libversion
Installing RDoc documentation for sqlite3-ruby-1.3.1...
Enclosing class/module 'mSqlite3' for class Statement not known
No definition for libversion
#
うまくできている?
ユーザーアカウントで、次のコマンドを実行する。
rake db:migrate RAILS_ENV=“production”
(略)
大量のメッセージが出ているので、成功したらしい。
permission の変更をしろということで、手順通りやってみる。
mkdir tmp public/plugin_assets
sudo chown -R redmine:redmine files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
(つづく)