〜2003年6月上旬〜
1264通。軽く1000を越えてしまった。
--export-all-symbolsにすればauto importできるようだ。
% echo 'int foo;' >foo.c % gcc -shared -Wl,--export-all,--out-implib=libfoo.dll.a foo.c % nm libfoo.dll.a |tail -3 U __head_a_exe 00000000 I __imp__foo 00000000 I __nm__foo % printf "EXPORTS\nfoo\n" >foo.def % gcc -shared -Wl,--out-implib=libfoo.dll.a foo.c foo.def % nm libfoo.dll.a |tail -3 U __head_a_exe 00000000 I __imp__foo 00000000 T _foo
結局__nm__fooというsymbolが大事らしい。
出たようだ。
% CFLAGS=-Os ./configure --without-x --disable-gui \ --enable-multibyte --enable-perlinterp --enable-rubyinterp % LD_RUN_PATH=/usr/local/lib/perl5/5.8.0/i586-linux/CORE make
Changes: Numerous enhancements were made, including improved accuracy of the bounds checking code, HTML and CSV output, and support for numabstract types. Numerous bugfixes and house-keeping updates were also made. Additional security checks were introduced, including the addition of messagestream, warningstream, and errorstream control flags, and support for +longint and +shortint flags. The type checking was also changed accordingly.
makeするとcheckまでするのはいいが、 /usr/localにある古いデータを使っていちいち文句を言うのはやめて欲しいな。
mkmf.logを見るとあきらかに何か足りないよね。その後の socket.hを見てsbsize_tが怪しいことがわかる。 sbsize_tとHP-UXをキーにぐぐるといっぱいヒットする。 一番それらしい この報告を教えといた。 それにしても、2年近く経つのに放置状態?
PR#814, PR#816, PR#839によるとOSFでは<sys/socket.h>に
#define __ss_family ss_family
という記述があるらしい。 で、extconf.rbでは問答無用で-Dss_family=__ss_familyとしているので、
#define ss_family __ss_family #define __ss_family ss_family
と書いたのと同じことになる。これは意味がない。つまり-Dでは絶対に解決できない。
だったらstruct sockaddr_storageにss_familyというメンバがあれば-Dをつけなければいい? __ss_familyがあったら-Dをつけるでもよさそうな気もするが、 OSFでは#define文があるから両方とも存在することになり、まずそうだ。
だめだ。リンクしない。ダイアルアップ環境はもうないしな。うーむ。
全巻一気に見た。これはばかばかしくて面白いねえ。
一日中ビデオを見ていて気づかなかったが、今日もつながらない。 明日電話するか。てゆか日記の更新できてないんだよね。
電話してみると、そのまま15分待つか平日の昼間に掛け直せと言われた。 新聞を読みながら待っていると10分ほどでつながった。 なんだかんだで結局ADSLモデムを交換することになった。 12日に来るらしいが、それまでどうしようかなあ。
法事から帰ってきた父親に電話線どこかいじった?と聞いたら、 なんとスプリッタを入れた言うではないか。 うかつだった。思いもよらなかった。まず最初に自分で確認すべきだった。 12日に送られてきてしまうが、まあ、いいか。
あまりにも評判が悪いせいかPERLIOを設定しなくても、行末はLFのままになった。
これってCygwin DLLのバグらしい。 でもクラッシュする前は1.3.22でもちゃんと動いてたんだけどなあ。不思議だ。
申し込んだ。
また分裂?
1.8でruby -rreadline -e0を実行するとSEGVになるという報告をもらった。 調べるてみるとupxで圧縮しているのが原因だった。 dllimportを活かすとupxで圧縮しても問題ない。うーむ。
Ruby 1.8にREXML 2.7.0相当が入った。