- PR -

solaris9でircd の make server中にエラー

1
投稿者投稿内容
black-dr
常連さん
会議室デビュー日: 2008/03/10
投稿数: 27
投稿日時: 2008-03-10 15:16
ircdのソースmakeでエラーになっています。

ircd のソースを./configure まで正常終了して、
make server 中に下記メッセージで停止してしまいました。
こういう時は、どうやって回避してやれば、いい
のでしょうか?
pow,sqrtが未定義と出ていますが、どうすれば、いいか、
かいもくわかりません。

gcc,make,libiconv もsunfreewareから持ってきて、
pkgadd でインストールは、正常終了しています。

solaris8の時にやった時は、問題なく、make server して
make install-server までうまくいったのですが。。
だめです。




./version.c.SH
Building version.c...
gcc -O2 -g -I. -I../ircd -I../common -c -o version.o version.c
gcc -o ircd bsd.o dbuf.o packet.o send.o match.o parse.o support.o version.o channel.o class.o hash.o ircd.o list.o res.o s_auth.o s_bsd.o s_conf.o s_debug.o s_err.o s_id.o s_misc.o s_numeric.o s_serv.o s_service.o s_user.o s_zip.o whowas.o res_init.o res_comp.o res_mkquery.o -lz -lnsl -lsocket -lcrypt
未定義の 最初に参照している
シンボル ファイル
pow ircd.o
sqrt hash.o
ld: 重大なエラー: シンボル参照エラー。ircd に書き込まれる出力はありません。
collect2: ld はステータス 1 で終了しました
*** Error code 1
make: Fatal error: Command failed for target `ircd'
#
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2008-03-10 15:52
ソースコードの入手元やバージョンを提示されていないので、実際に確認してみたり具体的な修正箇所を提示することができませんが、未定義となっている関数の名称からすると、 libm へのリンクが抜けていることが原因のように見えます。

-lz -lnsl -lsocket -lcrypt
    ↓
-lz -lnsl -lsocket -lcrypt -lm

となるように、Makefileを修正されてみてはいかがでしょうか。
black-dr
常連さん
会議室デビュー日: 2008/03/10
投稿数: 27
投稿日時: 2008-03-10 18:51
あんとれさん、凄い!

おっしゃる通りにやったら、一発でOKとなりました。
この2,3週間悩んでいたのが、トホホホです。
見る人が見ると一発なんですね。。

本当にありがとうございました。助かりました。
1

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