SSブログ

LimeSurveyのためのPHPコンパイルの続き(まだできてない) [Linux]

本当はPHP自体をコンパイルしたいわけじゃなくて、LimeSurveyを使いたかっただけなんだけどね。PDO関連でリビルドすることにしました。面倒くさいったらない。

もう素のソースからコンパイルしてPHP入れたほうが速いとは思ったけど、APTの流儀でやるのがDebian系では適当なんだろうと思って、ちょっとdpkgとかAPTとか使って、ちょっとパラメータを変えてコンパイルすることにしました。


 
ここを見て
http://d.hatena.ne.jp/littlebuddha/20081203/1228285278
sudo apt-get install build-essential
sudo apt-get build-dep php5
apt-get -b source php5

なにか依存性が解決されてないとか言われる。build-depでやれているはずなのだが…。

コンパイル時の依存性をインストールしようと思ったら、apt-getとaptitudeでは違った。

sudo apt-get build-dep php5

で入れた後に、依存性うんぬんとapt-get -b sourceで言われたので、

sudo aptitude build-dep php5

をしたら、
The following NEW packages will be installed:
  firefox-locale-de{a} language-pack-de language-pack-de-base{a}
0 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded.


なんて言われた。apt-getでは足りないんでないの? にしても、ドイツの言語のなんちゃらって入れる意味あるんだろうか。何かfirefoxのなんかは入れなくて良さそうな気がするけどね。まぁ入れろと言ってるから入れるか。

あ、すんなりとコンパイル通りやんの。ちなみにコマンドはapt-get source -b php5です。




動いている途中のプロセスをCtrl + cで殺したら、

dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 130 Build command 'cd php5-5.3.10 && dpkg-buildpackage -b -uc' failed.


が出てきたので、debian/rulesあたりをいじくれば、自分の欲しいPHPが作れる気がする。にしてもやたら./configureが長いな。なんだろう。それ以上にコンパイルが時間がかかる。30分ぐらいやってるな。仮想化サーバはメモリはそれなりにとってあるけど、こういう時こそ8コアデスクトップ機を使えばいいんだよね。.debファイルを作るところまで、別のマシンでやろうかなぁ。あぁ速いマシンはUbuntu入ってなかったかな。OS入れる時間とコンパイルの時間が微妙な感じ。MacのVirtualBoxでもいいか。Ubuntu入ってた気がする。あぁバージョンとか違っても大丈夫だったっけ?


MacのVirtualBoxにUbuntu入ってた。おんなじようなことをしてコンパイル。やっぱりコンパイルが速い。

# start our own mysql server for the tests
/bin/sh debian/setup-mysql.sh 2567 /home/miff/php/php5-5.3.10/mysql_db
make: *** [test-results.txt] Error 1
dpkg-buildpackage: error: debian/rules build gave error exit status 2
Build command 'cd php5-5.3.10 && dpkg-buildpackage -b -uc' failed.
E: Child process failed


あうち、MySQLが動いてないとダメだって言ってるよ。どうすっかな。もうMySQL使おうと思ってないんだけどな。まぁ検証のために入れよか。ってコンパイルしたバイナリすべて消すのかよ。色々もったいない。

sudo aptitude install mysql-server


ってコンパイル中にやった。上手くいくといいんだが。どっちにしても、全コンパイルやり直しってのは避けたいので、

dpkg-buildpackage -b -uc


ってのをいじって、作ったバイナリを消させないようにしようか。上手くいっちゃっても、同じ部分のバイナリを再度コンパイルするのは無駄だから、ちょっとコンパイルを指示するファイルを見てどうにかしよう。dpkg-buildpackageのman見ないとな。

とりあえず、MySQLのテストが上手くいかないのはわかった。前のマシンだと上手くいってたのにな。まぁAPTで入れただけだから、初期化とか足りないものとかあるのかもな。もう面倒臭いから、PostgreSQLじゃなくてMySQLで動いたらそれでいいや。喫緊に使うわけでもないし。

あ、apt-get source -b php5のコマンドの時に、調子乗ってsudo付けてエラーが出るので注意。インストールには大体、管理者権限使うからコンパイルする時ついついやっちゃうんだよね。んでsudo付けないでおくと、テストをやってくれて終わる。


いろいろ.debファイルが出来るのですが、allってのをインストールしようとした。
$ sudo dpkg -i php5_5.3.10-1ubuntu3.8_all.deb       
[sudo] password for miff: 
Selecting previously unselected package php5.
(Reading database ... 68084 files and directories currently installed.)
Unpacking php5 (from php5_5.3.10-1ubuntu3.8_all.deb) ...
dpkg: dependency problems prevent configuration of php5:
 php5 depends on libapache2-mod-php5 (>= 5.3.10-1ubuntu3.8) | libapache2-m
od-php5filter (>= 5.3.10-1ubuntu3.8) | php5-cgi (>= 5.3.10-1ubuntu3.8) | p
hp5-fpm (>= 5.3.10-1ubuntu3.8); however:
  Package libapache2-mod-php5 is not installed.
  Package libapache2-mod-php5filter is not installed.
  Package php5-cgi is not installed.
  Package php5-fpm is not installed.
 php5 depends on php5-common (>= 5.3.10-1ubuntu3.8); however:
  Package php5-common is not installed.
dpkg: error processing php5 (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 php5

何かダメそうな事を言われたので、下記を入れてみようとしたけど、何か芳しくないのでやめた。
$ sudo aptitude install libapache2-mod-php5 libapache2-mod-php5filter php5-cgi php5-fpm php5-common

あ、そのパッケージ作ったファイルの中にあるね。これをdpkg経由で先に入れろってことかな? dpkg -iでall.debと同じディレクトリに出来たdebファイルをインストールしたら、PHP5が入れられる事が出来ました。

でも、当然の事ながらPDOの対策はしていないので、それまでと同じようにLimeSurveyのインストールでPDOがないよって言われて進めない。その設定はdebian/rulesにありそうなので、シェルスクリプトだと思って取り組みたい。あ、#!/usr/bin/makeだからメイクファイルか。シェルスクリプトより面倒だな。面倒くさいw

コメント(0) 

コメント 0