- ベストアンサー
./configureがうまくできない
昨日、Fedora Core 1をワークステーションタイプでインストールしました。 そのPCにシーラカンス本を見ながらPstgresql7.1.1をインストールしようとし、 ./configure --enable-multibyte=EUC_JP --enable-syslog をしたところ。やたら...noという表示が流れ最後に checking types of arguments for accept()... configure: error: could not determine argument types と出てきました。 makeをしてみると、 You need to run the 'configure' program first. See the file と表示されます。 どうすればこの状況を回避できるのでしょうか? よろしくおねがします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
だいぶお悩みのようですね! 初志貫徹で行きましょう。configure→make→make insall 最新のPostgreSQLは、7.4.2 ftp://ftp.sra.co.jp/pub/cmd/postgres/7.4.2 前準備 # adduser postgres ←postgresユーザを作成 # mkdir /usr/local/pgsql ←PostgreSQLの導入先 # chown postgres:postgres /usr/local/pgsql # mkdir /usr/local/src/postgresql-7.4.2 # chown postgres:postgres /usr/local/src/postgresql-7.4.2 postgresql-7.4.2.tar.gzを、/usr/local/src (慣習的にこのようなディレクトリィにおきます。) PostgreSQLの導入 "root"ユーザでも、"postgres"ユーザのどちらでも可です。 #($) cd /usr/local/src #($) tar xvf postgresql-7.4.2.tar.gz #($) cd postgresql-7.4.1 #($) ./configure --enable-multibyte=EUC_JP --enable-syslog "./"の意味は、このディレクトリィにパスがとおっていないので、このように、パスを指定します。"no"がたくさんでますが、多くは、システムの環境との関連がないためです。 configureのあるディレクトリィに、Makefileが作成されます。いよいよ、makeです。gccを用いて、コンパイルが始まります。CPUや、HDDの性能で終了まで、5乃至10分程度必要です。 All of PostgreSQL successfully made. Ready to install. とでれば、完了です。ここまでは、何度でもできます。 #($) ./configure ...... > postgrest.txt、make > postgres1.txtなどの様にリダイレクトして、途中経過をあとで、"more"などを使用して確認ができます。 #($) make install PostgreSQL installation complete. とでれば、完了です。30秒程度です。 "root"ユーザであれば、 # su - postgres $ ls -la (postgresユーザホーム /home/postgresです) .bash_profileと、.bashrc .bash_profileに、viなどのエディターで、以下を最後に追記します。 POSTGRES_HOME=/usr/local/pgsql export PATH="$PATH":/usr/local/pgsql/bin export PGLIB=$POSTGRES_HOME/lib export PGDATA=$POSTGRES_HOME/data export MANPATH="$MANPATH":$POSTGRES_HOME/man 終了したら、 $ source .bash_profile で、postgresユーザ環境に反映させます。もうこれで、postgresの世界です。 $ initdb $ postmaster -S $ psql -l Name | Owner | Encoding -----------+----------+----------- template0 | postgres | SQL_ASCII template1 | postgres | SQL_ASCII $ createdb test $ dropdb test など、など、いろいろ試してください。 これでも、うまく行かない時は、Fedora Coreが不完全ではないでしょうか。
その他の回答 (2)
- shige_70
- ベストアンサー率17% (168/946)
#1さんのおっしゃるようにrpmなどのパッケージでインストールすれば楽ちんですが、何も考えずにばかすかパッケージインストールしてるとごちゃごちゃして管理しきれなくなってくるし、パッケージどうしの相性もあると思うので、下手するとシステムが不安定になったりします。 それに何より、configure ~ make ~ make install によるソースからのインストールで場数を踏んでおくことはたいへん勉強になります。是非臆することなくどんどん挑戦していって戴きたいと思います。 さて、./configure は、インストール対象の環境がどのようになっているか調査して、それに適合するように必要な設定を施し、環境に合わせたMakefileを出力して、makeコマンドを実行できるように準備するものです。 accept() というのはネットワーク関係の関数です。 これがインストール対象の環境ではどのような型の引数を取るのか確認しようとしたところ失敗した、ということです。 これだけでは何が悪いのか分かりませんね。 config.log というファイルが出来ているはずですので、見てみてください。 けっこうでかいので面食らうかもしれませんが、とりあえず accept で検索を掛けてみましょう。そうすると、./configureが何をしようとして失敗したのかがだいたい分かります。 ひとまずここまでで解決しなければ、補足欄などでまた質問してください。
お礼
アドバイスありがとうございます。 cofig.logのacceptを検索してみると、30個くらい出てきました。 どれも↓のような感じです。 configure:5375: checking types of arguments for accept() configure:5402: gcc -c -O2 conftest.c 1>&5 In file included from configure:5389: confdefs.h:7:24: missing terminating " character In file included from configure:5389: confdefs.h:8: error: syntax error before numeric constant confdefs.h:10:76: missing terminating " character configure: failed program was: #line 5389 "configure" #include "confdefs.h" #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif extern int accept (int, struct sockaddr *, int *); これが何を意味しているのか理解できず途方に暮れてます。
- angband
- ベストアンサー率51% (86/168)
configureスクリプトは、システムにインストールされて いるライブラリ、コマンドなどを探してmakefileを作成 してくれます。 ...noがやたらと出るということはconfigureが見つけられ ないライブラリやコマンドがあるということです。 (正常でも結構あります) 考えられるのは 1, PATHの問題。/sbinや /usr/local/bin など必要な 場所にパスが通っているか確認する。 2,/etc/ld.so.conf(だっけ?) 検索するライブラリの 場所 3,PostgreSQL自体の環境変数 もっとも簡単な解決方法はRPMでインストールすることです。
お礼
アドバイスありがとうございます。 まずecho $PATHで調べてみると(この調べ方で合ってるのかどうか。。。) /usr/kerberos/sbin: /usr/kerberos/bin: /usr/local/sbin: /usr/local/bin: /sbin: /bin: /usr/sbin: /usr/bin: /usr/X11R6/bin: /root/bin と出てきました。 次に/etc/ld.so.confを見てみると /usr/X11R6/lib /usr/lib/sane /usr/lib/qt-3.1/lib と出てきました。 今の自分ではこれを見て何をどうすればいいのか見当がつきません。 RPMでインストールという方法も調べてみます。
お礼
出来ました!感動です!! 今までどうやってもうまくいかず何度キーボードを叩こうとしたか。。。叩かなくてよかった。 アドバイスを元にいろいろ調べながらインストールしました。 ただ、7.4.2でmakeの後にmake checkをしてみたところ最後に92of93云々と表示され心配になったので試しに7.4で行ってみたらAll 93 tests passed.なったので7.4をインストールしました。 嘘つきじゃなかったです。 ありがとうございました!