From: "KISHIMOTO, Makoto" Date: 2007-12-02T22:08:11+09:00 Subject: [ruby-dev:32434] signature of exit() on C++ きしもとです trunk(rev. 14078) で、このように mecab-ruby の make でコケます。 $ make g++ -I. -I/usr/local/include/ruby-1.9/i686-linux -I/usr/local/include/ruby-1.9 -I. -DHAVE_MECAB_H -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -c MeCab_wrap.cpp /usr/include/stdlib.h:646: error: declaration of ‘void exit(int) throw ()’ throws different exceptions /usr/local/include/ruby-1.9/i686-linux/ruby/config.h:9: error: from previous declaration ‘void exit(int)’ make: *** [MeCab_wrap.o] Error 1 関係あるかどうかわかりませんが、Fedora Core 6 です。 $ rpm -qf /usr/include/stdlib.h glibc-headers-2.5-18.fc6 $ rpm -qf /usr/bin/g++ gcc-c++-4.1.2-13.fc6 関係しているヘッダの記述はこんな感じです。 /usr/include/stdlib.h 646 extern void exit (int __status) __THROW __attribute__ ((__noreturn__)); /usr/local/include/ruby-1.9/i686-linux/ruby/config.h 8 #ifdef __cplusplus 9 void exit (int); 10 #endif Ruby の側の問題のように思いましたのでこちらに投げました。 他の C++ な拡張モジュールでは大丈夫なのでしょうか?