- - PR -
Fedora Core 3 にてtcpserverを組み込みたい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-04-15 15:17
いつもお世話になり恐縮です。
今回Fedora Core 3にqmailを立ち上げようとしています。 qmailのmakeなどはうまくいき、SMTPの受付制限DBを作成 しようとtcpserverを入れる段階でつまづいています。 ucspi-tcp-0.88を展開し、ucspi-tcp-0.88.a_record.patchを 組み込みmakeするとコンパイルエラー(だと思う)がでます alloc.c:3: ■■: conflicting types for built-in function 'malloc' や tcpserver.o(.text+0x800) In function 'doit' : undefined reference to 'errno' 等がでます。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=10&topic=13065 と同じかと思ったのですが、参考Urlがqmailのエラーのようで・・・ どなたか同じような問題をクリアした方、 またはアドバイスいただける方、よろしくお願いします。 |
|
投稿日時: 2005-04-15 15:44
errno に関する問題点としては全く同じかと思います。
djb氏のソフトのC言語ソースでは、errno を、外部定義してあるグローバル変数と決め打って extern しているのですが、最近の glibc では、errno は変数ではなくマクロとして定義されているので、食い違いが出ているようです。 ですので、次のように、errno.h をインクルードするよう、書き換えを行えば良いです。 ・BEFORE: extern int errno; ・AFTER : #include <errno.h> どこかでパッチが公開されているとは思うのですが、修正自体は単純なので、手作業でも苦にはならないと思います。 (grep で探せば、対象ファイルもすぐ見つかります) なお、malloc に関しては警告レベルなので、そのままでもコンパイルは通ると思います。 …が、気持ち悪いところではあるので、次のように修正すると良いかと思います。 ・BEFORE: extern char *malloc(); extern void free(); ・AFTER : #include <stdlib.h> 以上、ご参考まで。 [ メッセージ編集済み 編集者: angel 編集日時 2005-04-15 15:53 ] |
|
投稿日時: 2005-04-15 16:01
ありがとうございました。
指示通り実施したらエラー無く組み込まれました。 これで先に進むことができます。 ありがとうございました。 |
1