« Return to Thread: [ruby-list:46178] ruby-chasen in 64bit machine

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

by KISHIMOTO, Makoto :: Rate this Message:

Reply to Author | View in Thread

> 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]

 « Return to Thread: [ruby-list:46178] ruby-chasen in 64bit machine