- PR -

PHPのインストールでmakeが通らない

投稿者投稿内容
beer
常連さん
会議室デビュー日: 2007/02/09
投稿数: 31
投稿日時: 2009-01-27 23:53
お世話になっております。
連続での質問になってしまい、すみません。

今構築を行っているサーバで、phpのインストール時にmakeが通らない
事象がおきて困っています。
ご教授のほどよろしくお願い致します。

configureは問題なくとおり、makeを行った際に、以下のエラーログが
出力され、makeが行えない状態です。

<エラーログ>
/bin/sh /usr/local/work/php-5.2.6/libtool --silent --preserve-dup-deps --mode=compile gcc -Iext/libxml/ -I/usr/local/work/php-5.2.6/ext/libxml/ -DPHP_ATOM_INC -
I/usr/local/work/php-5.2.6/include -I/usr/local/work/php-5.2.6/main -I/usr/local/work/php-5.2.6 -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/local/wo
rk/php-5.2.6/ext/date/lib -I/usr/local/include/freetype2 -I/usr/local/work/php-5.2.6/TSRM -I/usr/local/work/php-5.2.6/Zend -D_POSIX_PTHREAD_SEMANTICS -I/usr/lo
cal/include -g -O2 -c /usr/local/work/php-5.2.6/ext/libxml/libxml.c -o ext/libxml/libxml.lo
In file included from /usr/local/work/php-5.2.6/main/php.h:34,
from /usr/local/work/php-5.2.6/ext/libxml/libxml.c:28:
/usr/local/work/php-5.2.6/Zend/zend.h:72:19: unix.h: No such file or directory
/usr/local/work/php-5.2.6/Zend/zend.h:84:25: mach-o/dyld.h: No such file or directory
In file included from /usr/local/work/php-5.2.6/ext/libxml/libxml.c:28:
/usr/local/work/php-5.2.6/main/php.h:92:18: unix.h: No such file or directory
make: *** [ext/libxml/libxml.lo] Error 1


いろいろとNetにて対応策を探してみたのですが、どうもうまく
いきません。
どなたか対応策を教えて頂けますようお願い致します。

■サーバ情報
 OS:Solaris9
 PHP:php-4.3.8

■configureのオプション
 ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/opt/sfw/MISC/mysql --prefix=/opt/sfw/MISK/php-4.3.8-090127 --enable-track-vars --with-gd --with-freetype-dir=/usr/local --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-zlib-dir=/usr/local --enable-gd-native-ttf --enable-gd-jis-conv 2>&1 | tee Config.log
末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2009-01-28 06:04
こんばんは

関係ないかもしれませんけど、typoがありますね。
MISCとなると思われる場所が MISKになっています。

ato
4.3.8といっているのに5.2.6が見えるのはなぜでしょう?
beer
常連さん
会議室デビュー日: 2007/02/09
投稿数: 31
投稿日時: 2009-01-28 08:46
おはようございます。
未記入さん、回答ありがとうございます。

MISKは完全にミスタイプです。

すみません、PHPインストール時のエラーログを張り間違えていました。
もともと、5.2.6をインストールしようとしていたのですが、分けあって
4.3.8に変更しました。
その5.2.6のmake時のログを張っておりました。

4.3.8も5.2.6も同じエラーログを出力している状態なので、根本的に何か
足らないのでしょうか?
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2009-01-28 10:04
./main/php_config.h の HAVE_UNIX_H は確認されましたか?
Solaris には unix.h はない(はず)なので、

/* #undef HAVE_UNIX_H */

となっているはずです。もし、

#define HAVE_UNIX_H

となっているのであれば(というか、多分そうなっているから unix.h を読み込もうとするのでしょう)、config.log や configure スクリプトで行われたテストの内容を確認して、なぜ define になったのか確認する必要があります。

コード:

#include <unix.h>



2箇所ありますが、どちらもテストプログラムはこれだけに見えますけど・・・
実際のテスト内容と結果は config.log にあります。

参考までに以下は私がLinux 環境でインストールしたときのログです。

コード:

configure:16441: checking for unix.h
configure:16451: gcc -E -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE conftest.c >/dev/null 2>conftest.out
configure:16447:18: unix.h: No such file or directory
configure: failed program was:
#line 16446 "configure"
#include "confdefs.h"
#include <unix.h>



gcc -E -D_FILE_OFFSET_BITS=64 ... を実行してテストに失敗していることが確認できますね。


[ メッセージ編集済み 編集者: あんとれ 編集日時 2009-01-28 10:05 ]
beer
常連さん
会議室デビュー日: 2007/02/09
投稿数: 31
投稿日時: 2009-01-28 10:55
あんとれさん>>
 回答ありがとうございます。

昨日、./main/php_config.h 内のunix.hをコメントアウトをしてmakeをしてみたのですが、同じようなエラーを出力してとまってしまう状態です。
今手元にエラーログがないので、別途取得して添付致します。

あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2009-01-28 11:05
以前PHPのインストールに失敗したことがあり
そのときは
ダウンロードしてきた資産が間違っていた
というオチでした。

なんとなくそんな可能性もあるので確認してみてはどうでしょう。
beer
常連さん
会議室デビュー日: 2007/02/09
投稿数: 31
投稿日時: 2009-01-28 11:27
あすかさん>>
 回答ありがとうございます。

4.3.8は既存でインストールされていたため、問題ないかと思っています。

今回Apa1.3系からApa2.0系へ以降をする際に、PHPの再インストールをした
しようとした際に、makeでつまづいてしまっている状態です。
beer
常連さん
会議室デビュー日: 2007/02/09
投稿数: 31
投稿日時: 2009-01-28 13:10
お世話になっております。

php_config.hからunix.hの行をコメントアウトし、makeした結果、以下のエラーログが出力され、makeが行えない状態です。
原因がさっぱりでわからない状態です。

/bin/sh /usr/local/work/php-4.3.8/libtool --silent --preserve-dup-deps --mode=compile gcc -Iext/zlib/ -I/usr/local/work/php-4.3.8/ext/zlib/ -DPHP_ATOM_INC -I/usr/local/work/php-4.3.8/include -I/usr/local/work/php-4.3.8/main -I/usr/local/work/php-4.3.8 -I/usr/local/work/php-4.3.8/Zend -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/sfw/MISC/mysql/include/mysql -I/usr/local/work/php-4.3.8/ext/xml/expat -D_POSIX_PTHREAD_SEMANTICS -I/usr/local/work/php-4.3.8/TSRM -g -O2 -prefer-pic -c /usr/local/work/php-4.3.8/ext/zlib/zlib.c -o ext/zlib/zlib.lo
In file included from /usr/local/work/php-4.3.8/main/php.h:34,
from /usr/local/work/php-4.3.8/ext/zlib/zlib.c:28:
/usr/local/work/php-4.3.8/Zend/zend.h:71:25: mach-o/dyld.h: No such file or directory
make: *** [ext/zlib/zlib.lo] Error 1

スキルアップ/キャリアアップ(JOB@IT)