人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Linux(Debian)でソースからPHP(5.1.4)をインストールしようとしていますが、以下のエラーが出てconfigureで失敗します。

root# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --enable-mbstring --with-zlib-dir=/usr/include

?略?
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... no
checking for mysql_close in -lmysqlclient... no
checking for mysql_error in -lmysqlclient... no
configure: error: mysql configure failed. Please check config.log for more information.

config.logは以下にアップロードしました。
http://slashmall.net/config.log

初めはMySQLのLinux (x86, glibc-2.2, "standard" is static, gcc)をインストールしましたがここ(http://bugs.php.net/bug.php?id=35848)を見るとglibcのバージョンが間違っていたらしく(glibc-2.3だった)、もうひとつのLinux (non RPM, Intel C/C++ compiled, glibc-2.3) の方を再度インストールしましたが、エラーが少し増えただけに終わりました。

何が間違っているのでしょうか。よろしくお願いします。

●質問者: akkun_choi
●カテゴリ:コンピュータ インターネット
✍キーワード:C/C++ config debian Dir gcc
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● くまっぷす
●27ポイント

DebianだといいながらMySQLのLinux、もうひとつのLinuxをインストールしたいう意味がよくわからないです。

少なくともlogを見る限り、Intel Compilerとそのライブラリがないと動かない…と言ってますね。他のエラーもあるかもしれませんが、

undefined reference to `_intel_fast_memset'

などのエラーが多量に出ていますから。

1)今実際に動かしているLinuxはDebianのバージョンですか?

2)同じくgcc,glibcのバージョンは?

あと、DebianでPHP5を使いたいのならば

http://packages.debian.org/unstable/web/php5

unstableですがパッケージがあるのでこちらを導入した方が早いと思います。

◎質問者からの返答

すいません、MySQLの"Linux (x86, glibc-2.2, "standard" is static, gcc)"用のバイナリという意味でした。

1) バージョンはわかりませんがDebianです。

2) gccは4:3.3.5-3、glibcは2.3.2.ds1-22sarge3です。apt-getで調べた限りglibcもgccもbinutilsも最新版でした。

unstableっていうのはどれぐらい安心できるのでしょうか。最終手段として使ってみます。


2 ● Marin_MTB
●27ポイント

config.logを見る限りだとMySQL関連ライブラリのシンボルを参照できないと言うエラーが鬼のように吐かれています。

可能性ですが、PHPをインストールしようとしているサーバのLinker(ld)がMySQLのライブラリを上手く解釈できていないと思われます。

その原因は3つ考えられます。

・サーバのgcc/binutilsが古い

→たまにGNUldでこのようなケースが見られます。バージョンアップで解決するかも?

・MySQLのライブラリがGNUldに対応していない

→MySQLをソースからコンパイルし直すか、gccでコンパイルされたものに入れ替えてみる。

(ちなみに、今入っているのはIntelのccでコンパイルしたものみたいですが)

・LDFLAGSを変える。

undefined reference to `_intel_fast_memcpy' when using intrinsics - Intel? C++ Compiler - Intel? Software Network Forums

→上記URLを参照するに、LDFLAGSの-lcのまえに-lircを加えなさいとあり、それで解決できるかもです。(根本的には「IntelのLinkerを使いなさい」と書いてありますが…)

◎質問者からの返答

http://dev.mysql.com/downloads/mysql/5.0.html

この最後の方に「バイナリ版使った方が最大のパフォーマンスがでるよ」とあるのでソースからコンパイルはちょっとためらっているのです…。これしかないんですかね。

LDFLAGSを変えるっていうのはPHPのconfigureを書き換えないといけない?


3 ● くまっぷす
●26ポイント

あー、すみません 意味がわかった…

まず、今はMySQLのIntel library入りのものを入れてしまったんですね。これは動かないでしょう、というかglibcから何からいろんなlibを対応のものに入れ換えないといけなくなると思いますので。

拾ってきたPHPが要求しているライブラリがとにかく今入っているMySQL関連に入ってないんでしょう。Debianはわりとアップデートが遅い(その代わりチェックがしっかりしている)ので、部分的にソースを拾ってきてビルドすると確かに問題は起きやすいかもしれません。

なのでとりあえずなんとかしたいということであればMartin_MTBさんのおっしゃるようにMySQLも含めてソースからビルドしなおすでも行けそうに思いますが、やはりパッケージを探して入れてみる方がいいと思います。

試していないので何とも言えませんが

http://www.linuxcompatible.org/PHP5_for_Debian_available_s31809....

http://www.sgtpepper.net/hyspro/diary/20050603.html

あたりにパッケージがあるようです。

◎質問者からの返答

このバイナリも間違いだったのか…。

お言葉通りパッケージ→ダメならソースからビルドしてみようと思います。

どうもありがとうございます!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ