備忘録 the next generation

2014年末にOCN(http://yamagu.mo-blog.jp)からこちらに移転しました。

64bit

2006-10-26 23:56:20 | デジタル・インターネット

Aho-Corasickを実装したライブラリに、Spare partsというものがある。
http://www.fastar.org

で、170万件あまりのデータを読ませようと思ったら、メモリが足りなくて
落ちた。物理メモリは32GBもあるマシンなので、問題は論理的な限界の方だ。

では、というわけで、makefileのgccのオプションに-m64を追加して実行してみると、
ld.so.1: y_grep: fatal: /usr/local/lib/libstdc++.so.6: wrong ELF class: ELFCLASS32
Sparcはもちろん64bitなので、64bit対応のライブラリがどこかにあるだろうと探して見ると、
findでlibstdc++.so.6を探し出し、
file /usr/local/lib/sparcv9/libstdc++.so.6
を実行してみると
/usr/local/lib/sparcv9/libstdc++.so.6:  ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically linked, not stripped
おそらくこれだろう、というわけで、
setenv LD_LIBRARY_PATH /usr/local/lib/sparcv9
としたら、無事動いてくれたできた。

金と力に任せた計算のようで、なんだかなーという気はするが。