昨日、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
と表示されます。
どうすればこの状況を回避できるのでしょうか?
よろしくおねがします。
No.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が不完全ではないでしょうか。
出来ました!感動です!!
今までどうやってもうまくいかず何度キーボードを叩こうとしたか。。。叩かなくてよかった。
アドバイスを元にいろいろ調べながらインストールしました。
ただ、7.4.2でmakeの後にmake checkをしてみたところ最後に92of93云々と表示され心配になったので試しに7.4で行ってみたらAll 93 tests passed.なったので7.4をインストールしました。
嘘つきじゃなかったです。
ありがとうございました!
No.2
- 回答日時:
#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 *);
これが何を意味しているのか理解できず途方に暮れてます。
No.1
- 回答日時:
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でインストールという方法も調べてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- サーバー WindowsでApache が起動しない 1 2022/11/29 12:21
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
- 英語 英文の添削お願いします。【長文です。】 マッチングアプリで相手を言い負かしている時のやつです。 色々 1 2023/07/01 02:12
- 英語 Therefore, it appears to be more logical to avoid 2 2022/07/05 15:31
- 英語 英文の添削をお願いします 4 2023/05/23 11:10
- 戦争・テロ・デモ ウクライナ、メル友に五千円要求されてさ 1 2022/04/02 09:38
- TOEFL・TOEIC・英語検定 中学2年生です。 英検2級でこのライティングで何点くらい取れるでしょうか。(16満点) Some p 4 2022/04/01 17:38
- Windows 10 VirtualBox 7のゲストOSでの物理HDDパーティションのマウント方法 2 2023/05/04 13:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Debianでのmakeコマンドインス...
-
gccのインクルードパスの確認
-
OpensslのVer.ダウン
-
makeコマンドができない
-
PHP5ビルド時のundefined refer...
-
Linuxのgccのインクルードパス?
-
linuxの/usr/includeについて
-
./configureの次にmakeが出来ま...
-
apachectlが使えない
-
*** ターゲット `all' を make ...
-
Apacheのバージョンアップ方法
-
macos での /usr/local/lib と...
-
OS Xでmake installしたソフト...
-
GD.pm
-
MacOSX Terminalで$PATH不正の...
-
C言語ファイルのコンパイルがで...
-
[Debian]LKMの作成について
-
ソースからmakeした場合の削除方法
-
Vine Linuxでgoogle chromeを使...
-
パソコンでゲームをプレイしよ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gccのインクルードパスの確認
-
makeコマンドができない
-
*** ターゲット `all' を make ...
-
Linuxのgccのインクルードパス?
-
make でエラー
-
glibcバージョンアップ
-
apachectlが使えない
-
Solaris10でCコンパイラが見...
-
ソースファイルのアンインスト...
-
macos での /usr/local/lib と...
-
linuxの/usr/includeについて
-
makeの際、 Killedとなったり...
-
OpensslのVer.ダウン
-
perlのダウングレード方法
-
RedHat9のgtk-configってどこ?
-
ソースからmakeした場合の削除方法
-
makeしてinstall
-
ubuntu linux の./configure ru...
-
PROMISE TX4000 RAIDドライバー...
-
./configureの次にmakeが出来ま...
おすすめ情報