- PR -

なぜ・・・qpopper導入失敗

1
投稿者投稿内容
トーヤ
ベテラン
会議室デビュー日: 2003/06/12
投稿数: 63
投稿日時: 2004-08-31 12:52
こんにちは、トーヤと申します。

現在、APOP対応のPOPサーバを立ち上げたいと願い、qpopper Ver4.0.5の
導入を(ごめんなさい)Solaris8システムに対し行いました。

#./configure --enable-specialauth \
--enable-apop=/etc/pop.auth --with-popuid=popper

を実行し、成功しましたが、

#make

を実行したところ、下記エラーで異常終了してしまいました。。。

<エラー抜粋>
----------------------
gcc -c -I.. -I.. -I. \
-I../mmangle -I../common \
-g -O2 -idirafter /usr/local/include -fpcc-struct-return -DHAVE_CONFIG_H
-DSOLARIS2 -DGNU_PASS -DNO_GETLINE -DCONTENT_LENGTH=1 -DUNIX popauth.c -o popa
uth.o
popauth.c: In function `check_db_err':
popauth.c:356: `DBM' undeclared (first use in this function)
popauth.c:356: (Each undeclared identifier is reported only once
popauth.c:356: for each function it appears in.)
popauth.c:356: parse error before `)'
popauth.c: In function `main':
popauth.c:659: `DBM' undeclared (first use in this function)
popauth.c:659: `db' undeclared (first use in this function)
popauth.c:660: parse error before `char'
popauth.c:693: `mode' undeclared (first use in this function)
popauth.c:879: `auth_dir' undeclared (first use in this function)
popauth.c:885: `auth_pag' undeclared (first use in this function)
popauth.c:921: incompatible types in assignment
popauth.c:1034: `f' undeclared (first use in this function)
popauth.c:1056: incompatible types in assignment
popauth.c:1097: incompatible types in assignment
popauth.c:1097: incompatible types in assignment
popauth.c:1106: incompatible types in assignment
popauth.c:1183: incompatible types in assignment
popauth.c:1428: `DBM_REPLACE' undeclared (first use in this function)
*** Error code 1
make: Fatal error: Command failed for target `popauth.o'
Current working directory /home/popper/qpopper4.0.5/popper
*** Error code 1
make: Fatal error: Command failed for target `popper_server'
----------------------

正直白状しますと、今回はじめてソースからのインストールを試みました。
(勉強になるかな、と思いました)
そして、本エラーについても自力で発見したかったのですが、Googleで
調べても適切な情報を見つけ出す力がないようで、エラーの原因が
ぜんぜん掴めませんでした・・・。

情けない話ですが、なにとぞお助けください!お願いします!
トーヤ
ベテラン
会議室デビュー日: 2003/06/12
投稿数: 63
投稿日時: 2004-08-31 14:08
トーヤです。補足です。

GNU dbmはインストール済みです。

ご存知のかた、お助けを!
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2004-08-31 14:14
今日は。

ちょっとgoogleって見ました。

2chネタですけど…

cd /usr/ports/mail/qpopper; make install

でやってみるとどうでしょう?
あと、英語になっちゃいますけど
「popauth.c: In function `check_db_err':」
で検索かけると結構出てきますよ


トーヤ
ベテラン
会議室デビュー日: 2003/06/12
投稿数: 63
投稿日時: 2004-08-31 14:19
NAO さん、ご回答多謝です!

ご提示いただいた2chネタ、私もみました。。。
実はこのようにする意味がまったく不明だった(makeで失敗しているのに
どうしてこれが対処になるのか・・・??状態でした)ので、不採用にしてました。
もしよろしければ、これはどういった手法なのかお教えくださいデス!

あと、教えてくだすったキーで再サーチしてみまーす!
---> どうやら質問がほとんどのようでした。。。

[ メッセージ編集済み 編集者: トーヤ 編集日時 2004-08-31 15:53 ]
NeXT
大ベテラン
会議室デビュー日: 2004/04/06
投稿数: 215
お住まい・勤務地: 江戸
投稿日時: 2004-08-31 15:38
引用:

トーヤさんの書き込み (2004-08-31 14:08) より:

GNU dbmはインストール済みです。




gdbm 関連のファイルがちゃんとインストールされているかどうか
確認してみてはどうでしょうか。

configure 時のログが config.log に記録されていると思いますの
で,こちらもあわせて確認してみるとよいでしょう。

gdbm のインストール先によっては LD_RUN_PATH の設定が必要になっ
てくるかもしれません。
トーヤ
ベテラン
会議室デビュー日: 2003/06/12
投稿数: 63
投稿日時: 2004-08-31 15:51
NeXT さん、ご回答多謝です!

configure 時のログ、確認してみます。
LD_RUN_PATH の設定についても調べてみます。
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2004-08-31 15:59
今日は。

さて、改めてエラー内容を見てみると。

引用:

popauth.c: In function `check_db_err':
popauth.c:356: `DBM' undeclared (first use in this function)



check_db_err関数でDBMが宣言されてねーよ。

引用:

popauth.c: In function `main':
popauth.c:659: `DBM' undeclared (first use in this function)



main関数でDBMが宣言されてねーよ。

と同じ内容をエラーとして出力しているので、NeXTさんが言われている様にDB周りかもしれません。
ソースを見ていないので推測レベルですが、ソースの宣言を見てみて、
どのように宣言されているかを確認して、そこから追いかけてみてはどうでしょう?

考えられる事としては。

1.なんか必要なソース(ヘッダー)ファイルが無い
2.DBのインストール周りでの環境変数をトーヤさんの環境に合わせて変更

引用:

gdbm のインストール先によっては LD_RUN_PATH の設定が必要になっ
てくるかもしれません。



も確認してみると良いかも。
いずれにせよなんか変数の初期設定ですっこけてますので。
トーヤ
ベテラン
会議室デビュー日: 2003/06/12
投稿数: 63
投稿日時: 2004-09-04 19:40
トーヤです!
皆さん、ありがとうございました!!
おかげさまで、うまくインストールできました!

LD_RUN_PATHとLD_LIBLARY_PATHに、gdbmをインストールした
/usr/localをセットしたところ、成功できました。
ありがとうございました。また宜しくお願いいたします。
1

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