- - PR -
RedHatLinux9のコンパイル問題
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-06-25 20:22
こんにちは、
下でもqmailがmake途中にエラーがでて、とまってしまうというのがありましたが、 そのレスが非常に参考になりました。 サイトを巡りいくつかパッチをあてて(ファイルを編集してもできるそうです) 回避をしましたが、また問題が発生しました。 tcpserverをコンパイルするとき、同じエラーがでました。 しかし、今度はそのエラーがでるファイルがバイナリだったので、 編集できません。パッチも見当たらないし・・ これで、インストールがとまっています。 皆さんは、こういうとき、どうされているのでしょうか? まだredhat9は入れないほうがよかったかな? |
|
投稿日時: 2003-06-25 21:09
こんにちは。
実際にやってみていなくて申し訳ありません。 tcpserverということは、「ucspi-tcp」に含まれるtcpserverを利 用されているのですよね? そうであるならば、ソースファイル(ucspi-tcp-0.88.tar.gz)は お持ちですか? お持ちであるならば、先日紹介させていただいた、 http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ 以下にある、 ucspi-tcp-0.88.a_record.patch ucspi-tcp-0.88.errno.patch ucspi-tcp-0.88.nobase.patch の3つのpatchを適用することでコンパイルできると思います。 # 手元のRedHat9ではできました。 |
|
投稿日時: 2003-06-26 12:54
藍空さん、ありがとうございます!
私が見逃していたんですね・・・ すみません。 まさにucspi-tcp-0.88.tar.gzを利用するところです。 ありがとうございます。 qmailをいれて、 tcpserver無しでpopやsmtpがやりたいなと おもったのですが、なかなかドキュメントがなく、 あきらめてtcpserverを入れることにしたのでした。 qmailに関しては、 http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ の、qmail-1.03.errno.patch だけではだめで、 http://article.gmane.org/gmane.mail.qmail.general/13960 のパッチらしき記述をファイルに書き込み3つ パッチを当てたらなりました。 でも警告がたくさんでました。 なにか間違っているかもしれませんが・・(TT 的確なアドバイス、ありがとうございました! |
|
投稿日時: 2003-06-26 13:54
パッチを当てなくても、直接ソース編集でも大丈夫です。
基本的にエラーがでるのは、 extern int errno; の個所なので、こいつを1行コメントアウトして、ヘッダに #include <errno.h> と書けば、上手くいくと思います。 詳しくは http://www.gnu.org/software/libc/FAQ.html をご覧ください。 |
|
投稿日時: 2003-06-26 14:43
[-R-]さん、ありがとうございます。
いまはcheckpassword-0.90のコンパイルで、また 同じのが出ています(TT unix.a(alloc.o)(.text+0x48): more undefined references to `errno' follow collect2: ld はステータス 1 で終了しました 編集しようとしたら、これはhとかcファイルではないので、 @がたくさん出てきて、編集できない状態(?でした。 このような場合は、パッチを当てるしかないのかと思い、 http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ からもってこようとおもいます。 qmail関連は全てerro関係で変更が必要かな、大変です・・ |
|
投稿日時: 2003-06-26 15:34
そのエラーは、コンパイル時のエラーではなくて、リンク時のエラーです。そして、
***.oファイルは、コンパイルされたバイナリです。ディレクトリを見ると、ほかにも ***.oというファイルがたくさんあると思いますが、それらをくっつけて一つの最終的な バイナリが出来ますが、くっつけている途中でのエラーですね。 多分予想では、ソースを変更した後にリコンパイルしていなくて、***.oに変更が反映 されていないと思いますので、 rm -f *.o で中間オブジェクトを消去してから、最初からコンパイルしてみてください。 |
1