- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:postgres9のconfigureでエラー)
postgres9のconfigureでエラー
このQ&Aのポイント
- Solaris10にpostgres9.0.5をインストールしようとしています。エラーが発生しています。
- configureのオプションを指定すると、thread-safetyエラーが発生します。
- thread-safetyを無効にすることでエラーを回避できますが、9.0.4/9.1.1でも同様のエラーが発生します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> Undefined first referenced > symbol in file > sched_yield /var/tmp//ccVp73Io.o sched_yieldが見つからないと言っています。 それは、Solarisではsched_yieldがlibc.soにもlibpthread.soにも含まれていないからです。 では、それがどこにあるのか? librt.soにあります。 なので、LIBSに-lrtを設定してconfigureしてみては如何でしょうか? $ LIBS=-lrt ./configure --prefix=/usr/local/postgres --without-readline --enable-thread-safety ところで、configureで失敗したテストプログラムは以下ですが、 $(srcdir)/src/test/thread/thread_test.c 222行目の問題箇所を見ると、/* if this is a portability problem, remove it */ と書いてあるので、以下の2行を消してconfigureしてもOKかもしれません。 while (thread1_done == 0 || thread2_done == 0) sched_yield(); あと、余談ですが、psqlを使用することがあるなら、--without-readlineはあまりお勧めしません。
お礼
ご回答ありがとうございました。 LIBSに-lrtを設定したら、configureからコンパイル、インストールまでうまくいきました。 今のところ動作も問題なくいっている模様です。 助かりました。