• 締切済み

RedHatES4にPostgresSQLとPHPを・・・

edHatES4にostgresSQL7.1.3-5とPHP3.0.18をインストールしようと しています。 [root@** php-3.0.18-i18n-ja-3]# ./configure --with-pgsql=/usr/include/pgsql --with-apxs=/usr/local/apache/bin/apxs --enable-track-vars --enable-versioning --enable-i18n --enable-mbregex でconfigureはできるのですが、makeすると internal_functions.c:59 から include されたファイル中: functions/php3_pgsql.h:46:22: libpq-fe.h: そのようなファイルやディレクトリはあり ません functions/php3_pgsql.h:47:28: libpq/libpq-fs.h: そのようなファイルやディレクトリ はありません In file included from internal_functions.c:59: functions/php3_pgsql.h:89: error: 文法エラー が '*' トークンの前にあります functions/php3_pgsql.h:96: error: 文法エラー が "PGconn" の前にあります functions/php3_pgsql.h:96: 警告: struct や union の最後にセミコロンがありません functions/php3_pgsql.h:98: error: 文法エラー が '}' トークンの前にあります functions/php3_pgsql.h:98: 警告: データ定義が型や記憶クラスを持っていません functions/php3_pgsql.h:101: error: 文法エラー が "PGconn" の前にあります functions/php3_pgsql.h:101: 警告: struct や union の最後にセミコロンがありません functions/php3_pgsql.h:102: 警告: データ定義が型や記憶クラスを持っていません functions/php3_pgsql.h:103: error: 文法エラー が '}' トークンの前にあります functions/php3_pgsql.h:103: 警告: データ定義が型や記憶クラスを持っていません make: *** [internal_functions.o] エラー 1 とでてきます。ネットで調べてあれこれ試しましたが未だ解決しません。 どなたか解る方教えていただけませんでしょうか。よろしくお願いします。

みんなの回答

  • cynthia4
  • ベストアンサー率51% (186/358)
回答No.4

# ln -s /usr/include/pgsql/* /usr/include/ とするとどうなりますか これとは、違いますが 似た様なもので解決した事があります。

purry
質問者

補足

ご回答ありがとうございます。 実は他の掲示板で同じ質問をして解決してしまいました。解決法は、 php3_pgsql.h内の #include <libpq-fe.h> #include <libpq/libpq-fs.h> を #include "libpq-fe.h" #include "libpq/libpq-fs.h" に変えるというものでした。 C言語の知識はほとんど無いのでよくわかりませんが、 あるサイトの説明をそのまま引用すると 「ユーザーが定義したヘッダファイルには "" 、システム標準のヘッダファイルには<> を使用します。」 ということだそうです。 どうもありがとうございました。

  • pakuti
  • ベストアンサー率50% (317/631)
回答No.3

/usr/include/pgsql にsqlがインストールされているようですが functions/php3_pgsql.hは、このディレクトリから postgreSqlのヘッダファイルを探しているようです。 このディレクトリに、libpq-fe.hとlibpq/libpq-fs.hがありますか? 念のため find / -name libpq-fe.h で該当ファイルがどこにあるかを探してみるべきかもしれません。 と言うか、postgreSqlはインストール済みですか? インストールをしていない場合には、 --with-pgsql=/usr/include/pgsql は、指定出来ないかと。

purry
質問者

補足

回答ありがとうございます。 /usr/include/pgsql/libpq-fe.h /usr/local/src/php-3.0.18-i18n-ja-3/functions/libpq-fe.h にファイルはあります。 libpq/libpq-fs.hも同じ場所にありました・・・。 Postgresqlはインストールされており作動しています。

  • pakuti
  • ベストアンサー率50% (317/631)
回答No.2

libpq-fe.hとlibpq/libpq-fs.hにパスが通っていないのでは? PostgreSQLをインストールした事は無いので このファイルが何者かは知りませんが。。 他のエラーはヘッダファイルを読み込めない事によるエラーかと。

purry
質問者

補足

ご回答ありがとうございます。 パスが通ってないということはなんとなく分かるのですが、 当方初心者の為どうすればいいのか分からなくて困っています。 先のサーバー管理者の方が残した手順書を元に インストールしているのですが・・・ (その方はRedHatES3を元につくられていました)

noname#98978
noname#98978
回答No.1

>あれこれ試しましたが未だ解決しません。 あれこれ、とは?

purry
質問者

補足

./configure --with-pgsql=/usr/include/pgsql の部分を、後に/付けてみたり=sharedにしてみたり =以下を取り払ってみたりです。 ちなみに php-3.0.18-i18n-ja-3/functions/ に libpq-fe.h libpq/libpq-fs.h は入ってます・・・

関連するQ&A