- PR -

RH9でのqmailコンパイルエラー

1
投稿者投稿内容
onoke
会議室デビュー日: 2003/08/08
投稿数: 4
投稿日時: 2004-07-26 11:41
RedHat9上にqmaiをインストールしようとしていますが、コンパイル時に下記の様なエラーメッセージが出て終わります。該当するソースをいじっても変わりません。もちろんパッチは当てています。どなたか教えて頂けませんでしょうか?

-----以下コンパイルエラーメッセージ-----
./compile scan_8long.c
./makelib fs.a fmt_str.o fmt_strn.o fmt_uint.o fmt_uint0.o \
fmt_ulong.o scan_ulong.o scan_8long.o
./compile datetime.c
./compile datetime_un.c
./makelib datetime.a datetime.o datetime_un.o
./compile auto-str.c
./load auto-str substdio.a error.a str.a
substdio.a(substdo.o)(.text+0x43): In function `allwrite':
: undefined reference to `errno'
collect2: ld はステータス 1 で終了しました
make: *** [auto-str] エラー 1
----------------------------------------------------------
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2004-07-26 12:58
error.h の先頭に

#include <errno.h>

を加えてみてはいかがですか?

BEGIN
*** error.h.orig 2004-07-26 12:57:14.000000000 +0900
--- error.h 2004-07-26 12:57:24.000000000 +0900
***************
*** 1,6 ****
--- 1,8 ----
#ifndef ERROR_H
#define ERROR_H

+ #include <error.h>
+
extern int errno;

extern int error_intr;
END
綾瀬
ぬし
会議室デビュー日: 2002/07/31
投稿数: 393
お住まい・勤務地: どっちも3階
投稿日時: 2004-07-26 13:04
こんにちは。

ソースをいじったとありますが、具体的にどこを書き換えたのでしょうか。
また、当てたパッチは何のパッチでしょうか。
自分が試してみたことをもう少し具体的に書いてもらえると助言する側も
助かります。

で、エラーメッセージをちょっと検索してみましたが、sourceを展開した
ディレクトリにあるerror.hというファイルを書き換えることで
回避できることがあるようです。

3行目あたりに
extern int errno;
という部分があると思うので、これを
#include<errno.h>
と書き換えてみてください。

#違ってたらごめんなさいね。
onoke
会議室デビュー日: 2003/08/08
投稿数: 4
投稿日時: 2004-07-26 13:31
みなさんありがとうございました。
仰るとおり、error.hに”#include <errno.h>"を追記する事で解決しました。
同じく、tcpserver,checkpasswordのコンパイル時にも同じエラーが出ましたので、各ソースディレクトリのerror.hを同様に変えることで、これらも解決したことをご報告致します。
hide
会議室デビュー日: 2002/07/10
投稿数: 10
投稿日時: 2004-07-28 15:56
ちなみに
http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/
にqmail、tcpserverを含むdjbツールのglibc-2.3.1対応パッチ
(*.errno.patch)が置いてあります。
1

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