Just another Ruby porter,

〜2002年4月中旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2002-04-11 (Thu)

uClibc 0.9.11

large file対応がどうのこうのとあるが、とりあえず

DOLFS = false

のままにしとこう。

diffutils 2.8.1

折角なのでuClibc 0.9.11でmakeしてみる。

util-linux-2.11q

久し振りに更新してみた。これはなんとなく恐いのでglibcのまま。

ruby-talk-ja

quoted-printableな記事 だと化ける。


2002-04-12 (Fri)

ruby-talk-ja

ruby-talk MLもsubscribeしたままだと、 ruby-talk-ja MLは(日本語訳+オリジナル)なので、 サイズ的に3倍に膨れあがる。unsubscribeした。

JARH

というわけで別解を考えてみた。

print true ? "Just another Ruby hacker," :-P

Pはどこにも定義されてないんだけど、評価されないからundefinedにはならない。 だから

print true ? "Just another Ruby hacker," :-D

というのもありだ。

久し振りに全部実行してみるとなんか変だ。 1.7だとエラーになるし、1.6.7でもHash#defaultの挙動が前と違っているようだ。


2002-04-13 (Sat)

[Ruby] Hash#default=

やっぱいつのまにか仕様変更になってる。

% ruby-1.6.6 -ve 'p({}.default=1)'
ruby 1.6.6 (2001-12-26) [i386-linux]
{}
% ruby-1.6.7 -ve 'p({}.default=1)'
ruby 1.6.7 (2002-03-01) [i586-linux]
1

Hash#defaultがdefault値を返すんだから、 1.6.6までがバグっていたということだろう。

ruby-talk-ja

読み返してみるとruby-talkをunsubscribeしたように読める。 ruby-talkにも投稿してるのでunsubscribeしたのはruby-talk-jaのほう。

[Cygwin] libw11

独立してたのか。


2002-04-14 (Sun)

look

util-linuxを上げたらlookが見るwordsの場所が/usr/share/dict/wordsに変更になってた。

% sudo ln -s /usr/dict /usr/share

としとこう。

CRUX

About: CRUX is a lightweight, i686-optimized Linux distribution
targeted at experienced Linux users. The primary focus of this
distribution is "keep it simple", which is reflected in a simple
tar.gz-based package system, BSD-style initscripts, and a relatively
small collection of trimmed packages. The secondary focus is
utilization of new Linux features and recent tools and libraries.

BSD-styleのinitscriptsってあたりに魅かれるものがある。 でもi686-optimizedじゃきっと動かないよなあ、このマシンじゃ。


2002-04-15 (Mon)

[Autoconf] Obsolete Macros

info autoconfしていたらObsoleteなマクロの一覧を見つけた。 AC_CANONICAL三兄弟をAC_CANONICAL_SYSTEMにしようと思ってたのに、 obsoleteなのか。AC_CANONICAL_TARGETだけで十分らしい。

こんなリスト を用意してみた。 GNU grepだと-fでパターンをファイルで指定できるので

% grep -w -f autoconf-obsolete configure.in
AC_INIT(ruby.h)
  AC_ERROR(cached CC is different -- throw away $cache_file
AC_EXEEXT
AC_OBJEXT
AC_CHECK_TYPES([long long, off_t])
AC_OUTPUT($FIRSTMAKEFILE Makefile ext/extmk.rb)

という感じで実行できる。あ、AC_INITとかは使い方がobsolete ということで、AC_INIT自体がobsoleteなわけではない。 で、この場合は調べてみると結局obsoleteな使い方だった。 古い意味で使うときは

AC_INIT
AC_CONFIG_SRCDIR(UNIQUE-FILE-IN-SOURCE-DIR)

とせよということらしい。今のAC_INITは

AC_INIT(PACKAGE, VERSION, [BUG-REPORT], [TARNAME])

と引数がまるで違う。 ま、たぶん今までのなんだかわけのわからんファイルを指定するというのが、 そもそも間違っていたと思うので十分納得できる変更だ。 AC_ERRORはAC_MSG_ERRORに変更。 AC_EXEEXT, AC_OBJEXTはなくても自動的にEXEEXTとOBJEXTは設定される。 AC_CHECK_TYPEはなんか説明が長くてよくわからない。 AC_OUTPUTには引数がなくなった。

AC_CONFIG_FILES(FILE...)
AC_CONFIG_COMMANDS([default], EXTRA-CMDS, INIT-CMDS)
AC_OUTPUT

とせよということらしい。つまり

AC_CONFIG_FILES([$FIRSTMAKEFILE Makefile ext/extmk.rb])
AC_OUTPUT

という感じか?

AC_CHECK_TYPEは後で詳しく調べよう。


2002-04-16 (Tue)

http-access2_D

更新。

SOAP4R 1.4.3

うーむ。

test/interop/clientSOAP::Lite.rb
test/interopR2/clientSOAP::Lite.rb
sample/RAA/SOAP::Lite.pl

というファイル名はWindowsじゃやばいっす。 ま、大して影響はないが、::を__へrenameしてパッケージング。

ruby-google 0.2.0

というわけで全部揃った。 そういえばsetup.iniに依存関係も書けるんだったよなあ。 これも調べておかないと。

csv 1.1.1

更新。

商品出荷のお知らせ

プレイステーション・ドットコム・ジャパンからメール。 「商品出荷のお知らせ」とあるが、中身には肝心の何を出荷したかが書かれてない。 注文番号は書いてある。

ご注文商品はホームページ上の(http://www.jp.playstation.com/)
「ログイン/ご購入履歴」よりご確認ください。

わからん。なんでそんな変なシステムになってるの? 商品名を明記するのがそんなに大変なことなのか?

いや見に行かなくてもPS2Linuxしか注文してないから、これ以外考えられないのだが。


2002-04-17 (Wed)

[Ruby] ccache i686-pc-cygwin-gcc

ccache i686-pc-cygwin-gccだとdllwrapでまずい。 いいかげんgcc -sharedにすべきか?

[Ruby] i686-pc-cygwin-gcc -shared

とりあえずconfig.statusのLDSHAREDなどを書き換えて試す。

s,@LDSHARED@,ccache i686-pc-cygwin-gcc -shared -s,;t t
s,@LIBRUBY_LDSHARED@,ccache i686-pc-cygwin-gcc -shared -s,;t t
s,@LIBRUBY_DLDFLAGS@,--out-implib=$(LIBRUBY) $(RUBYDEF),;t t

これでいけそうかなと思ったら、tcltklibでこけた。

Warning: .drectve `%.*s' unrecognized
Warning: .drectve `%.*s' unrecognized
Warning: .drectve `%.*s' unrecognized
Warning: .drectve `%.*s' unrecognized
Cannot export ??_C@_03KBFG@Tcl?$AA@: symbol not found
Cannot export ??_C@_0DM@EBFE@This?5interpreter?5does?5not?5suppor@: \
  symbol not found

VC++用のlibraryをそのまま使っているが、ここにきて破綻したようだ。 あ、--def=tcltklib.defが無効で、-Wl,--export-all-symbolになってるからか。 extmk.rbから--def=を外そう。warningは残るが、これで一応最後まで通った。

libtclstub.aとlibtkstub.aは自前で作ってみるか。

spam

むぅ。今月はもう100通を越えた。


2002-04-18 (Thu)

Ruby/Googleとdate2

なひさんには内緒で 作ってたりする 。いや内緒でもなんでもないんだが。

関数定義の抜き出し

この際egrepでの処理もsedにやらせて

% sed -n '/^[a-zA-Z]/{;/[{;]/d;s/)/)\
/;p;}' array.c

とか。


2002-04-19 (Fri)

[Ruby 1.7] autoconf 2.5x Obsolete Macros対応

commitした。

AC_INIT(ruby, 1.7.2)

としたけど、もう1個こんなものを増やしちゃけないよね。 と思って最初は適当に

AC_INIT(ruby, 0.0)

としてみたんだが、どうすべきか?--helpすると最初に

`configure' configures ruby 1.7.2 to adapt to many kinds of systems.

と表示されるようになるのでとりあえず1.7.2を入れてみた。

[Ruby 1.7] 最新mingw対応(<mswsock.h>)

w32apiの<mswsock.h>と<winsock2.h>の変更の影響でエラーになっていた。 しかたないので<mswsock.h>を明示的にinclude。

[Ruby 1.6, 1.7] 最新mingw対応(<winsock2.h>)

<winsock2.h>でsockaddr_storageが定義されるようになった。 ext/socket/extconf.rbでのチェックで _WIN32のときは<windows.h>と<mswsock.h>をincludeするように変更。

<windows.h>をincludeすると<winsock2.h>もincludeされちゃう w32apiが余計なお世話的な気もするが。

[Ruby 1.7] Cygwin/MinGW上ではgcc -sharedを使う

ccache の件がなくてもgcc -sharedにしようと思ってはいたんだけど。

Webmin 0.960

os_list.txtにPlamoは流石にない。自分で付け加えてみた。

--- os_list.txt.orig	2002-04-15 15:33:04.000000000 +0900
+++ os_list.txt	2002-04-17 18:14:42.000000000 +0900
@@ -167 +167,2 @@
 Cygwin				1.3	cygwin		1.3
+Plamo				2.2	slackware-linux	2.2

slackwareに近いと思うのでslackware-linuxでいいかな。

Linux (for PlayStation2) Release 1.0

来た。でもベータ版ですでに満足してしまっているので、熱が冷めた感がある。 解説書と書いてある小冊子を見てもkernelは2.4.1だし、他もほとんど変わりなし。 とりえあずインストールする必要なしと判断。


2002-04-20 (Sat)

[Ruby] バージョン

そもそもversion.hの中にも

#define RUBY_VERSION "1.7.2"
#define RUBY_RELEASE_DATE "2002-04-19"
#define RUBY_VERSION_CODE 172
#define RUBY_RELEASE_CODE 20020419

と同じものがある。 ANSI C必須になってるわけだし、これってなんとかなりそうな気もする。

AC_INITのほうは--helpや--versionすると表示される。 autoconf 2.53ならconfig.hにも

#define PACKAGE_NAME "ruby"
#define PACKAGE_TARNAME "ruby"
#define PACKAGE_VERSION "1.7.2"
#define PACKAGE_STRING "ruby 1.7.2"

と入る。で、--versionのほうはなぜかconfigureに直に書かれてしまうんだよね。 PACKAGE_VERSIONとかを参照してればversion.hから抜き出して加工できるのに。 とりあえずはPACKAGE_*は使わないからどうでもいいかもしれないけど。

eruby 0.9.8

更新。

この先撮映禁止…の先(ハートの4)

コマ送りして見ると3種類ぐらいのテクニックが使われているのがわかった。 2枚目に置くのはコマ送りしなくてもわかるけど、 ちょっと折り目を入れたときのテクニックは本当にすごい。 一瞬で上半分と下半分のカードを入れ換えてる。


<Prev(,) | Next(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!