FreeBSD/amd64 8.1-RELEASEでportsのruby-1.9.1.430,1をbuildしようとしたら
cc -I. -I../../.ext/include/amd64-freebsd8 -I../.././include -I../.././ext/ripper -I../.. -I../../. -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -pipe -fno-strict-aliasing -O2 -Wall -Wno-parentheses -fPIC -oripper.o -c ripper.c
{standard input}: Assembler messages:
{standard input}:9772: Warning: end of file not at end of a line; newline inserted
{standard input}:11172: Error: unknown pseudo-op: `.l19'
cc: Internal error: Killed: 9 (program cc1)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
という感じで失敗しました。同じ環境でtarballからmakeすると同じripper.cのところで今度はgccが固まってしまいました。
ruby-talkにruby-1.9.1-p378 hangs on make ripper.cというpostがありましたが反応がありません。
しばらく頭を抱えていましたが、ふとUbuntuでbuildを試してみたら、やはり失敗しました。ちょっと症状が変わってminirubyのSegmantation faultです。これで検索してみたところlib/optparse.rb:1310: [BUG] Segmentation fault の対処法 - takihiroの日記が一字一句違わずヒット。
make optflags=-O3で試したところ、Ubuntuでのbuildが成功。症状が全然違うのでFreeBSDの方はあまり期待してなかったのですが、こちらも成功しました。./configure optflags=-O0 debugflags='-g3 -ggdb'はやらなくても(うちの環境では)大丈夫でした