まずはコレを試す。
% /root/railsApp/skip20081219_2318# gem install mysql
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/usr/bin/ruby extconf.rb install mysql
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... 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/ruby
--with-mysql-config
--without-mysql-config
--with-mysql-dir
--without-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib
--without-mysql-lib=${mysql-dir}/lib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mlib
--without-mlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-zlib
--without-zlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-socketlib
--without-socketlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-nsllib
--without-nsllib
--with-mysqlclientlib
--without-mysqlclientlib
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.7 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.7/gem_make.out
やっぱりだめだった。
なにかが足りないらしいので、足してみる。
確か、mysqlの追加のパッケージが必要だった気がする。
centosをインストールしたときに、mysqlをチェックしただけだったので
色々足りなかったったように思える。
今はいってる物を確認すると
# yum list | grep mysql
^[clibdbi-dbd-mysql.i386 0.8.1a-1.2.2 installed
mysql.i386 5.0.45-7.el5 installed
mysql-connector-odbc.i386 3.51.12-2.2 installed
mysql-devel.i386 5.0.45-7.el5 installed
mysql-server.i386 5.0.45-7.el5 installed
php-mysql.i386 5.1.6-20.el5_2.1 installed
bytefx-data-mysql.i386 1.2.4-2.el5.centos extras
freeradius-mysql.i386 1.1.3-1.2.el5 base
lighttpd-mod_mysql_vhost.i386 1.4.20-1.el5.rf rpmforge
mod_auth_mysql.i386 1:3.0.0-3.1 base
mysql-bench.i386 5.0.45-7.el5 base
mysql-test.i386 5.0.45-7.el5 base
pdns-backend-mysql.i386 2.9.21-4.el5.centos extras
perl-Class-DBI-mysql.noarch 1.00-1.el5.rf rpmforge
perl-DBD-mysql.i386 4.010-1.el5.rf rpmforge
php-pear-MDB2-Driver-mysql.noarch 1.4.1-3.el5.centos extras
php-pecl-session_mysql.i386 1.9-1.el5.rf rpmforge
proftpd-mysql.i386 1.3.1-1.el5.rf rpmforge
qt4-mysql.i386 4.2.1-1 base
rsyslog-mysql.i386 2.0.0-11.el5 base
mysql関連でもともと入っていたパッケージは全て削除。
mysqlのサイトに行って、
Red Hat Enterprise Linux 5 RPM (x86) downloadsに分類されている
ServerとClientとShared compatibility librariesとHeaders and librariesをローカルにダウンロードした
wget [mysqlのファイルURL]
で落としたファイルを指定して再インストール。
rpm -ivh ./Mysql*
再インストール後には、/etc/my.cnfが別名にリネームされていた(アンインストール時?)
のを元に戻して、再起動。
この起動時に、もともと入っていたmysqlがサービスとして生きていたので
ps -ef | grep mysql
し、プロセスIDを指定して
kill プロセスID
で皆殺し。そしたら
/etc/init.d/mysql start
で再起動も完了。
ここで、
# gem install mysql
Building native extensions. This could take a while...
Successfully installed mysql-2.7
1 gem installed
あっさりとインストールできた。
他の環境では苦労したので拍子抜け。
意外に簡単だ。
あとは[RAILS_HOME]ディレクトリとかに移動して
RAILS_ENV=development ruby ./scrypt/server lighttpd -p 80
とかすると、lighttpdを使用して、mysqlの接続も新しいモジュールに切り替わってくれるはず。
途中詰まったが、意外に簡単かも。
% /root/railsApp/skip20081219_2318# gem install mysql
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/usr/bin/ruby extconf.rb install mysql
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... 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/ruby
--with-mysql-config
--without-mysql-config
--with-mysql-dir
--without-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib
--without-mysql-lib=${mysql-dir}/lib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mlib
--without-mlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-zlib
--without-zlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-socketlib
--without-socketlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-nsllib
--without-nsllib
--with-mysqlclientlib
--without-mysqlclientlib
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.7 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.7/gem_make.out
やっぱりだめだった。
なにかが足りないらしいので、足してみる。
確か、mysqlの追加のパッケージが必要だった気がする。
centosをインストールしたときに、mysqlをチェックしただけだったので
色々足りなかったったように思える。
今はいってる物を確認すると
# yum list | grep mysql
^[clibdbi-dbd-mysql.i386 0.8.1a-1.2.2 installed
mysql.i386 5.0.45-7.el5 installed
mysql-connector-odbc.i386 3.51.12-2.2 installed
mysql-devel.i386 5.0.45-7.el5 installed
mysql-server.i386 5.0.45-7.el5 installed
php-mysql.i386 5.1.6-20.el5_2.1 installed
bytefx-data-mysql.i386 1.2.4-2.el5.centos extras
freeradius-mysql.i386 1.1.3-1.2.el5 base
lighttpd-mod_mysql_vhost.i386 1.4.20-1.el5.rf rpmforge
mod_auth_mysql.i386 1:3.0.0-3.1 base
mysql-bench.i386 5.0.45-7.el5 base
mysql-test.i386 5.0.45-7.el5 base
pdns-backend-mysql.i386 2.9.21-4.el5.centos extras
perl-Class-DBI-mysql.noarch 1.00-1.el5.rf rpmforge
perl-DBD-mysql.i386 4.010-1.el5.rf rpmforge
php-pear-MDB2-Driver-mysql.noarch 1.4.1-3.el5.centos extras
php-pecl-session_mysql.i386 1.9-1.el5.rf rpmforge
proftpd-mysql.i386 1.3.1-1.el5.rf rpmforge
qt4-mysql.i386 4.2.1-1 base
rsyslog-mysql.i386 2.0.0-11.el5 base
mysql関連でもともと入っていたパッケージは全て削除。
mysqlのサイトに行って、
Red Hat Enterprise Linux 5 RPM (x86) downloadsに分類されている
ServerとClientとShared compatibility librariesとHeaders and librariesをローカルにダウンロードした
wget [mysqlのファイルURL]
で落としたファイルを指定して再インストール。
rpm -ivh ./Mysql*
再インストール後には、/etc/my.cnfが別名にリネームされていた(アンインストール時?)
のを元に戻して、再起動。
この起動時に、もともと入っていたmysqlがサービスとして生きていたので
ps -ef | grep mysql
し、プロセスIDを指定して
kill プロセスID
で皆殺し。そしたら
/etc/init.d/mysql start
で再起動も完了。
ここで、
# gem install mysql
Building native extensions. This could take a while...
Successfully installed mysql-2.7
1 gem installed
あっさりとインストールできた。
他の環境では苦労したので拍子抜け。
意外に簡単だ。
あとは[RAILS_HOME]ディレクトリとかに移動して
RAILS_ENV=development ruby ./scrypt/server lighttpd -p 80
とかすると、lighttpdを使用して、mysqlの接続も新しいモジュールに切り替わってくれるはず。
途中詰まったが、意外に簡単かも。
自宅でlightTPDを入れて動かそうと、環境作成をしてみた。
次も役立つようにメモ
wget http://www.fastcgi.com/dist/fcgi.tar.gz
すると fcgi-2.4.0.tar.gz が落ちてきた。
rpmbuild -ta ./fcgi-2.4.0.tar.gz
を試みるもspecファイルがないのか玉砕。
tar zxvf ./fcgi-2.4.0.tar.gz
で展開し
cd ./fcgi-2.4.0.tar.gz
で移動し、
./configure
make
checkinstall
でrpmファイルができた。
tempディレクトリにファイルをコピー..OK
ELFバイナリを除去..OK
manページを圧縮..OK
ファイルリストを作成..OK
RPMパッケージを作成..OK
NOTE: The package will not be installed
tempファイルを削除..OK
doc-pakディレクトリを削除..OK
バックアップパッケージを書き込み..OK
temp dirを削除..OK
**********************************************************************
Done. The new package has been saved to
/usr/src/redhat/RPMS/i386/fcgi-2.4.0-1.i386.rpm
You can install it in your system anytime using:
rpm -i fcgi-2.4.0-1.i386.rpm
**********************************************************************
[root fcgi-2.4.0]#
そしたら、
[root downFile]# rpm -ivh /usr/src/redhat/RPMS/i386/fcgi-2.4.0-1.i386.rpm
準備中... ########################################### [100%]
ファイル /usr/lib/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ libstdc++-devel-4.1.2-42.el5 からのファイルと競合して
ファイル /bin/grep (パッケージ fcgi-2.4.0-1 から) は、パッケージ grep-2.5.1-54.2.el5 からのファイルと競合して
ファイル /bin/sed (パッケージ fcgi-2.4.0-1 から) は、パッケージ sed-4.1.5-5.fc6 からのファイルと競合して
ファイル /usr/bin/ld (パッケージ fcgi-2.4.0-1 から) は、パッケージ binutils-2.17.50.0.6-6.el5 からのファイルと競合して
ファイル /usr/bin/nm (パッケージ fcgi-2.4.0-1 から) は、パッケージ binutils-2.17.50.0.6-6.el5 からのファイルと競合して
ファイル /usr/bin/ranlib (パッケージ fcgi-2.4.0-1 から) は、パッケージ binutils-2.17.50.0.6-6.el5 からのファイルと競合して
ファイル /usr/bin/strip (パッケージ fcgi-2.4.0-1 から) は、パッケージ binutils-2.17.50.0.6-6.el5 からのファイルと競合して
ファイル /usr/libexec/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ cpp-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/bin/gcc (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/lib/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/libexec/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/libexec/gcc/i386-redhat-linux/4.1.2/collect2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/lib/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-c++-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/libexec/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-c++-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/lib/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-gfortran-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/libexec/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-gfortran-4.1.2-42.el5 からのファイルと競合して
ファイル /bin/chmod (パッケージ fcgi-2.4.0-1 から) は、パッケージ coreutils-5.97-14.el5 からのファイルと競合して
ファイル /bin/ln (パッケージ fcgi-2.4.0-1 から) は、パッケージ coreutils-5.97-14.el5 からのファイルと競合して
ファイル /bin/mv (パッケージ fcgi-2.4.0-1 から) は、パッケージ coreutils-5.97-14.el5 からのファイルと競合して
ファイル /bin/rm (パッケージ fcgi-2.4.0-1 から) は、パッケージ coreutils-5.97-14.el5 からのファイルと競合して
ファイル /usr/bin/expr (パッケージ fcgi-2.4.0-1 から) は、パッケージ coreutils-5.97-14.el5 からのファイルと競合して
ファイル /usr/bin/tr (パッケージ fcgi-2.4.0-1 から) は、パッケージ coreutils-5.97-14.el5 からのファイルと競合して
[root downFile]#
競合だってさ。
どうするよOrz
続きを読む
次も役立つようにメモ
wget http://www.fastcgi.com/dist/fcgi.tar.gz
すると fcgi-2.4.0.tar.gz が落ちてきた。
rpmbuild -ta ./fcgi-2.4.0.tar.gz
を試みるもspecファイルがないのか玉砕。
tar zxvf ./fcgi-2.4.0.tar.gz
で展開し
cd ./fcgi-2.4.0.tar.gz
で移動し、
./configure
make
checkinstall
でrpmファイルができた。
tempディレクトリにファイルをコピー..OK
ELFバイナリを除去..OK
manページを圧縮..OK
ファイルリストを作成..OK
RPMパッケージを作成..OK
NOTE: The package will not be installed
tempファイルを削除..OK
doc-pakディレクトリを削除..OK
バックアップパッケージを書き込み..OK
temp dirを削除..OK
**********************************************************************
Done. The new package has been saved to
/usr/src/redhat/RPMS/i386/fcgi-2.4.0-1.i386.rpm
You can install it in your system anytime using:
rpm -i fcgi-2.4.0-1.i386.rpm
**********************************************************************
[root fcgi-2.4.0]#
そしたら、
[root downFile]# rpm -ivh /usr/src/redhat/RPMS/i386/fcgi-2.4.0-1.i386.rpm
準備中... ########################################### [100%]
ファイル /usr/lib/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ libstdc++-devel-4.1.2-42.el5 からのファイルと競合して
ファイル /bin/grep (パッケージ fcgi-2.4.0-1 から) は、パッケージ grep-2.5.1-54.2.el5 からのファイルと競合して
ファイル /bin/sed (パッケージ fcgi-2.4.0-1 から) は、パッケージ sed-4.1.5-5.fc6 からのファイルと競合して
ファイル /usr/bin/ld (パッケージ fcgi-2.4.0-1 から) は、パッケージ binutils-2.17.50.0.6-6.el5 からのファイルと競合して
ファイル /usr/bin/nm (パッケージ fcgi-2.4.0-1 から) は、パッケージ binutils-2.17.50.0.6-6.el5 からのファイルと競合して
ファイル /usr/bin/ranlib (パッケージ fcgi-2.4.0-1 から) は、パッケージ binutils-2.17.50.0.6-6.el5 からのファイルと競合して
ファイル /usr/bin/strip (パッケージ fcgi-2.4.0-1 から) は、パッケージ binutils-2.17.50.0.6-6.el5 からのファイルと競合して
ファイル /usr/libexec/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ cpp-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/bin/gcc (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/lib/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/libexec/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/libexec/gcc/i386-redhat-linux/4.1.2/collect2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/lib/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-c++-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/libexec/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-c++-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/lib/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-gfortran-4.1.2-42.el5 からのファイルと競合して
ファイル /usr/libexec/gcc/i386-redhat-linux/4.1.2 (パッケージ fcgi-2.4.0-1 から) は、パッケージ gcc-gfortran-4.1.2-42.el5 からのファイルと競合して
ファイル /bin/chmod (パッケージ fcgi-2.4.0-1 から) は、パッケージ coreutils-5.97-14.el5 からのファイルと競合して
ファイル /bin/ln (パッケージ fcgi-2.4.0-1 から) は、パッケージ coreutils-5.97-14.el5 からのファイルと競合して
ファイル /bin/mv (パッケージ fcgi-2.4.0-1 から) は、パッケージ coreutils-5.97-14.el5 からのファイルと競合して
ファイル /bin/rm (パッケージ fcgi-2.4.0-1 から) は、パッケージ coreutils-5.97-14.el5 からのファイルと競合して
ファイル /usr/bin/expr (パッケージ fcgi-2.4.0-1 から) は、パッケージ coreutils-5.97-14.el5 からのファイルと競合して
ファイル /usr/bin/tr (パッケージ fcgi-2.4.0-1 から) は、パッケージ coreutils-5.97-14.el5 からのファイルと競合して
[root downFile]#
競合だってさ。
どうするよOrz
今月初めに注文していたキーボードが届いた。
HappyHackingKeyboardLite2というやつで
LinuxにPuttyを使用してEmacsを使用するので、このキーボードに変えてみた。
色はディスプレイやモニターに合わせて黒のにして、英字配列のキーボード。
USBをぶっさしただけだと、キーボードが誤認識されるらしく
PFUでドライバ(レジストリをいじる奴?)を入れて再起動で、記号も問題なし。
半角/全角ボタンがないから、Alt+`で代用。
この操作だけは少し面倒だ。
キーボードのマップを少し変えれば良いんだろうか?
もう暫く使って、苦しければ変えてみる。
HappyHackingKeyboardLite2というやつで
LinuxにPuttyを使用してEmacsを使用するので、このキーボードに変えてみた。
色はディスプレイやモニターに合わせて黒のにして、英字配列のキーボード。
USBをぶっさしただけだと、キーボードが誤認識されるらしく
PFUでドライバ(レジストリをいじる奴?)を入れて再起動で、記号も問題なし。
半角/全角ボタンがないから、Alt+`で代用。
この操作だけは少し面倒だ。
キーボードのマップを少し変えれば良いんだろうか?
もう暫く使って、苦しければ変えてみる。
/railsApp/scheduler/config/boot.rb:20:Warning: Gem::SourceIndex#search support for String patterns is deprecated
こんなメッセージが表示されて、rake db:migrateが正常に実行できない。
なにが問題なんだろうか。
変なGEMでも入れちゃったか?
でもSKIPを入れてマイグレーションを実行したときには正常に実行ができた。
その後、
rspec (1.1.11)
rspec-rails (1.1.11)
ruby-openid (2.1.2)
rubyforge (1.0.1)
rubygems-update (1.3.1)
uuidtools (1.0.4)
辺りは入れた気がする。
全体はこんな感じ。
*** LOCAL GEMS ***
actionmailer (2.1.2, 1.3.6)
actionpack (2.1.2, 1.13.6)
actionwebservice (1.2.6)
activerecord (2.1.2, 1.15.6)
activeresource (2.1.2)
activesupport (2.1.2, 1.4.4)
fastercsv (1.4.0)
gettext (1.93.0)
hoe (1.8.2)
mysql (2.7)
rails (2.1.2, 1.2.6)
rake (0.8.3)
rspec (1.1.11)
rspec-rails (1.1.11)
ruby-openid (2.1.2)
rubyforge (1.0.1)
rubygems-update (1.3.1)
uuidtools (1.0.4)
追記
どうやらsudo gem なんちゃらとしないと
gem listには登録されても、実際のモジュールはディレクトリに作成されないことがあるらしい。
railsを打ち込んでも反応ないから、gemでインストールされると入るはずのディレクトリを覗いたら
ディレクトリがなかった。
どうやら張りぼてのlistらしいです。
自力で環境を作成することができないので、ぐぐって参考にさせて貰ったのがここ
http://d.hatena.ne.jp/kabus/20070822/1187806296
ここに書いてあるとおりに、ファイルを置いて、.emacsを書き換えたもののエラーが発生。。
エラーメッセージが出ていたので、ruby関連の.elファイルも~/emacs.d/配下にコピーしたら
それっぽく動いてくれました。
コピー元のファイルはrubyのmiscの下にあった
inf-ruby.el
rdebug.el
rubydb2x.el
rubydb3x.el
ruby-electric.el
ruby-mode.el
をこぴるだけ。
linuxの中ではどこにあるか判らなかったので、端末のwin機に入れておいたrubyからいれてみた。
あとは、使ってみないと。
screenも入れてみたけど、自宅のPCは24インチWUXGAなので不要かもしれん。
http://d.hatena.ne.jp/kabus/20070822/1187806296
ここに書いてあるとおりに、ファイルを置いて、.emacsを書き換えたもののエラーが発生。。
エラーメッセージが出ていたので、ruby関連の.elファイルも~/emacs.d/配下にコピーしたら
それっぽく動いてくれました。
コピー元のファイルはrubyのmiscの下にあった
inf-ruby.el
rdebug.el
rubydb2x.el
rubydb3x.el
ruby-electric.el
ruby-mode.el
をこぴるだけ。
linuxの中ではどこにあるか判らなかったので、端末のwin機に入れておいたrubyからいれてみた。
あとは、使ってみないと。
screenも入れてみたけど、自宅のPCは24インチWUXGAなので不要かもしれん。
