From: WATANABE Hirofumi Date: 1999-03-02T17:31:12+09:00 Subject: [ruby-list:12505] Re: ruby/python cannot execute わたなべです. Masaki Fukushima writes: :$ make OPT='-g -O2 -DNDEBUG' : :などとして NDEBUG を付けてコンパイルした python を使うとこのエラー :は出なくなりました。 : :原因は良く分かりません。 :何でこれで解決するのかも良く分かりません。 (^_^;) :分かる方がいたら、ぜひ教えてください。 たぶんみなさん gcc を使ってるんだと思います. __eprintf は /usr/local/sparc-solaris*/include/assert.h で使 われてます. __eprintf 自身は libgcc.a にあります. というわけで gcc のときは -lgcc も必要です. でも ld に libgcc.a の場所を教えるのは結構面倒です. #gcc --print-libgcc-file-name でわかるから面倒でもないか. それよりは Ruby のほうで solaris && gcc だったら LD = ld -G じゃなくて LD = gcc -Wl,-G になるようにすれば gcc は libgcc.a の場所を知ってるし, しか もデフォルトでリンクされるから追加する必要もないし万事うまく いくような気もします. ひょっとしたら ld で shared library を作る OS に共通する話か もしれません. -- わたなべひろふみ