2006-08-01から1ヶ月間の記事一覧
青木日記 2005-02-25
IPv6のsocketからbindするとIPv4のsocketもbindできるんですが、IPv4を先にバインドしちゃうとIPv6でバインドするときに、 bind: Address already in use になってしまう。AIXではそういうもんなんだろうか。なんかsetsockoptすればいいんだろうか。と思って…
getnameinfoの動きが他のOSとちがう。getaddrinfoでアドレスをNULL、サービスを54321、passiveで呼び出したときに返ってくるAF_INET6のデータでgetaddrinfoすると Hostname and service name not provided or found になってしまう。今日はここまで。
aixのipv6のtypeはとりあえずunknown。何か特別なことをしているならここで場合わけが必要かもしれない。ていうか多分必要はない。Linuxでもunknownになった。(1.8:53行目付近)
こういう言い方でいいのだろうか。。。 Logging::postponeを呼んだ関数(ここで見ていたのはchecking_for)に渡されたブロックやそのあとLoggingを使ってログされたもの(チェックに使ったソースとか)は、Logging::postponeに渡されたブロックのあとにログされ…
mkmr.rbにあったコード f = caller[0][/in `(.*)'$/, 1]callerはcallerを呼んだ関数を呼び出した関数の情報を配列でかえす。こんな感じ。 $ cat -n caller.rb 1 def current_method 2 p caller 3 end 4 5 def some_method 6 current_method 7 end 8 9 some_m…
cygwinでなければ、--enable-ipv6がデフォルトになる。…しかし、先は長そうだ。mkmfも勉強しないと。
--disable-ipv6を指定しなくてもいいようにしたい。調査の結果避けようがないなんてことになるのかもしれない。そんなことないか。じぶんなりの結論出るまで続けられるだろうか。気長に頑張ろう。すごい人が出てきて、ちゃっちゃと片付けてしまうかもしれな…
アタマのほうのtest_func変数はそれがないと、create_makefileが呼ばれないというしるし(?)の関数を入れてある。-lnslが必要かどうかのチェック(have_library)にt_openが指定してあるけど、実際には使われていない。ちなみに、AIXではt_openはlibxti.aにある…
よかった。返事もらえた。1.8.5リリース後に対応いただける。じぶんのパッチを消したいのが最大の希望だったんですけどね。1.9へのごみも消してもらえたようだ。考えてみると大分迷惑かけているなぁ。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/29249
どうもスルーされてしまったようだ。私の書いた恥ずかしいコード(?)を駆逐できるので、いつかもう一度メールしてみよう。 #いらない改行が入ってしまうかも。ていうかメールのアーカイブへのリンクでいいんじゃないか。
長い行がメーラによって改行になって、適用する人が面倒くさくなるから。
場当たりなクイックハックをやはりちゃんと指摘していただけた。申し訳ないやらありがたいやら。一応じぶんでちゃんとしりをぬぐった(つもり)けど、謝ってばかりで恥ずかしい。100%自分が悪いんですが。がんばらんと。3時になってしまった。あと3時間しか寝…
古いAIXの環境を考慮して、dlopenとか使わない方向にしてあります。というわけで現状の差異。なんと言ってもこれでやっとスタート地点。
素人丸出しだ。というわけでこんな設定をしておいた。必要に応じて増やしていこう。 diff -u cvs -z4 -q
今回のインストール前のclean upで Windowsでは非常に不都合のある内容 ってのはどういうことだったんだろうか。あ、-rオプションかな。今後迷惑かけないようにもっと注意しないと。
install前のclean upでWin32に迷惑かけてしまいました(対応パッチを出してみました)が、とりあえず昨日までのパッチを採用してもらえました。CVSに名前が入ったのには超感動。他にも使っている方がいらっしゃって課題も増えて大変幸せ。とりあえず、古いAIX…
どうもgetaddrinfoなどの行儀がよくないようだ。druby://:0 とかで、serviceが0なときに怒られます。かえされたstruct addrinfoにprotocolとかセットされていないみたい。どうも他にもそういうプラットフォームがあるらしい。というわけで、4.3.3用にパッチ…
今回のconfigure.inとcommon.mkへの修正では、--enable-sharedをつけなくてもコンパイルできるようにしてみました。staticのlibrubyを拡張モジュールにそれぞれリンクしたのか、というとそうではなく、rubyをリンクするときに、-bE:ruby.imp をつけて、libru…
そもそもAIX4.3.3でGCC4.1.1を使ってテストすることに意味があるのでしょうか。それはそれとして、とりあえずrubyのコンパイルはVisualAgeC++でもgccでもうまくいったけど、ext/socketがどうもうまく動かないようだ。コンパイルはとりあえず--disable-ipv6つ…
私はテスト中。
こんなクイックハックで。boolean_tがかぶるのとAIXでのShift_JISを登録。AIX4.3.3でGCC4.1.1を使ったときの場合。
VisualAgeC++6で失敗したので、Welcome to Bull AIX freeware siteからとってきたGCCでGCC4.1.1をコンパイルした。
知らない人からpatchをもらったときに試す環境がなかったら何を根拠にその成果を信用すればいいのでしょうか。わかりません。最終的なパッチに至った流れをここに書いておいて、いつかパッチに採用してもらうよう説得が必要なときのための準備になるといいな…
config.hが標準ヘッダの間にインクルードされるとなぜコンパイルに失敗するか。 もうすこし具体的なことを書くと、こんな感じで再現できます。 $ cat test.c #include #include "ruby.h" #include int i;$ xlc -c test.cstdio.hに入るときに_LARGE_FILESが定…
むーん。えらい時間かかってる。非力すぎ。準備したマシンにはVisualAgeC++のVer.6をいれてみた。AIXでGCCをコンパイルするには ulimit -m unlimited ulimit -d unlimited (追記してみた) export CONFIG_SHELL=/bin/bash をやっておくと吉。
仕事で使っているAIXというOS上でrubyというスクリプト言語を使い始めたのですが、ちょっとコンパイルに手がかかりました。でもたいした手間ではありませんでした。ちょっと調べれば他に同じ苦労した人はいっぱい多少いて、その恩恵にあずかればよかったので…
configure.inとcommon.mkに手を入れました。これで--enable-sharedがあってもなくてもよくなったし、--without-gccでgccとccの切り替えができるし、リンカへのオプションもそれぞれで対応したので…ということで色々やりました。大分コンパイルが楽になりまし…
採用された形跡はありませんが、もうひとつ報告しました。 簡単に言うと、 config.hはすべての標準ヘッダあるいはそれらをインクルードしているヘッダの前にインクルードしてほしい。 ということでした。_ALL_SOURCEがredefinedだ、といわれることがなくなる…