2009年7月 8日

[ruby-list:46184] Re: ruby-chasen in 64bit machine

> PS. amd64 にして私は愛用の jvim+onew を諦めました。。なんといってもポインタを
> int に代入しているらしき警告だらけで、どう見てもそれが原因で core dump
> していたので。。(個人的には sizeof (int) != sizeof (void *) な gcc に
> 疑問を感じているけど、それだけ Cのコードが int が32ビットに依存している
> ものばかりなんでしょうね。)
> rubyや chasen周りではそういった警告は見てないと思います。
> (見逃している可能性はありますが。)

ports で ruby-chasen のビルド中に

===> Building for ja-ruby18-chasen-1.6_2
cc -I. -I. -I/usr/local/lib/ruby/1.8/amd64-freebsd7 -I. -I/usr/local/include/chasen -I/usr/local/include -fPIC -O2 -fno-strict-aliasing -pipe -fPIC -c chasen.c
chasen.c: In function 'f_chasen_sparse_tostr':
chasen.c:43: warning: cast to pointer from integer of different size
chasen.c: In function 'f_chasen_fparse_tostr':
chasen.c:57: warning: cast to pointer from integer of different size
cc -shared -o chasen.so chasen.o -L. -L/usr/local/lib -Wl,-R/usr/local/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L. -rdynamic -Wl,-soname,chasen.so -Wl,-R -Wl,/usr/local/lib -L/usr/local/lib -lruby18 -lchasen -lstdc++ -lpthread -lrt -lcrypt -lm -rpath=/usr/lib:/usr/local/lib -pthread

と、warning 出てないですかね?
chasen.h を include しておらず、(Cのデフォルトの)int の返り値を、char * に
キャストしているコードがあって、そこで出ています。
GCCのバージョンの違いかな、と思ったけど、そうでもないかな。
$ gcc --version
gcc (GCC) 4.2.1 20070719 [FreeBSD]


投稿者 xml-rpc : 2009年7月 8日 09:19
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/86519
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。