Just another Ruby porter,

〜2002年10月中旬〜


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

2002-10-11 (Fri)

[Linux] Ezm3

おぉ、 なるほど。 最終的にはcvsupだけでいいはずなので、 m3config/src/LINUXLIBC6を書き換えて

INSTALL_ROOT = "/tmp/ezm3"

として、ezm3はいつでも消せるようにしてみるかな。

GCC 3.2だとエラーになるなあ。

INSTALL_ROOT = "/tmp/ezm3"
X11ROOT = "/hogehoge"
CC = ["/usr/bin/gcc", "-c"]
OPT_FLAG = "-Os"
BOPT_FLAG = "-Os"
GNU_CC = "/usr/bin/gcc"
GNU_CFLAGS = "-Os"

としてみよう。Xは使わないのでわざと見つからないようにしてみた。 共有ライブラリも要らないので

% PLATFORM_SUPPORTS_SHARED_LIB = "T"

とコメントアウト。

あ、m3cgc1: Invalid option `-Os'と言われた。 勢いでBOPT_FLAGまでいじったのが間違いか。 明日にしよう。

[Ruby] MSYS

configure時に--prefix=c:/rubyのように指定すればいいということに気づく。 /usrとか-I/usrのようなものだけ変換するようだ。


2002-10-12 (Sat)

[Linux] Ezm3

なんだかんだで全然うまくいかず

INSTALL_ROOT = "/tmp/ezm3"
X11ROOT = "/usr/X11R6/lib"
OPT_FLAG = "-Os"
M3CC_MAKE = ["make", "BISON=yacc"]

で手を打つ。あとは

% PATH=/usr/bin:$PATH make CFLAGS=-Os

てな感じで。

[Linux] CVSup

こちらは

% PATH=/tmp/ezm3/bin:/usr/bin:$PATH make M3FLAGS="-DSTATIC -DNOGUI"
% strip client/LINUXLIBC6/cvsup

と実行し、できあがったcvsupを/usr/local/binにコピー。okだ。 /tmp/ezm3以下は消していい。

ためしにglibc 2.2.2の環境で作るとruntime error。 なぜか-DSTATICを外してdynamicにすると動く。全くもってglibcってやつは謎だ。

[Ruby] pstore.rb

[ruby-dev:18494]を追試。確かに起こる。openしたまま更にopenするのがまずいのか? いや、大丈夫だ。とするとflockか?そのようだ。


2002-10-13 (Sun)

[Linux] Linux 2.4.20-pre10

bisonを1.50にした所為かエラーになってしまう。

bison -y -d -b aicasm_gram aicasm_gram.y
aicasm_gram.y:921.21: parse error, unexpected ":", expecting ";" or "|"
aicasm_gram.y:936.2-5: $$ of `critical_section_start' has no declared type
aicasm_gram.y:938.2-5: $$ of `critical_section_start' has no declared type

byaccを使うと-pを受けつけてくれないし。

yacc -d -b aicasm_macro_gram -p mm aicasm_macro_gram.y
usage: yacc [-dlrtv] [-b file_prefix] filename

bisonを1.35に戻そう。byaccもCygwinのパッケージになってるbyacc 1.9をインストールしとく。 あ、byacc 1.9なら-pも-oも使えるじゃん。 ってことはbisonを使う必要はないわけだ。

[Linux] Linux 2.5.42

CONFIG_INPUT_KEYBOARDなんていつの間に増えたんだ? キー入力を受けつけないのは同じ。根本的にconfigを間違えているんだろうか?

[Virus] "ishiifamily"

久し振りにBadTransだ。ruby-bugsのほうもなんだかわからないvirusが相変わらず来てるなあ。


2002-10-14 (Mon)

[Cygwin] cygwin-1.3.13-1

使いものにならないらしい。-2が出てる。例によってどたばたは続く。

[Ruby] Ruby no Houkatsuteki Sampu Houden

Comprehensive Ruby Program Repository. 包括的算譜宝殿?

[Ruby] ftools.rb

もうftools.rbには隠居してもらいたいのに、余計な提案をしてしまったような。 提案した手前書いてみたが、全然納得いかないものになり鬱。


2002-10-15 (Tue)

[Linux] GNU C library 2.3.1

Changes: Critical bugs the in 2.3 release were fixed. 

ということなので早速更新。今回はw3m, cvsup, wineも問題なし。

[Linux] procps 3.0.3

一昨日2.0.10を入れたんだけど、もう3.0.3になってる。


2002-10-16 (Wed)

[Ruby] ruby-termios 0.9.4

更新。

[Linux] Bison 1.75

なぜかいきなり1.50から1.75だ。

[Ruby] blksize

[ruby-talk:53308]を見てて、blksize問題を思い出した。 1.7なら

st.blksize || 4096

で、1.6なら

st.blksize.nonzero? || 4096

とする必要がある。これは面倒だから1.6もnilを返すようにしたほうがよさそう。 ftools.rbは面倒なので8192バイト固定にしてあったりする。2MBはやはりでかすぎた。

[Cygwin] gcc 3.2

とうとう[test]から[curr]へ移行したようだ。


2002-10-17 (Thu)

[Ruby] Buggy shebang behavior with different newline style

そのために実は"--^M"オプションが用意されてるわけだが、

% cat -v foo.sh
#!/usr/local/bin/ruby --^M
puts "hello"^M
% ./foo.sh
hello

env経由じゃだめなんだよねえ。

% cat -v bar.sh
#!/usr/bin/env ruby --^M
puts "hello"^M
% ./bar.sh
: No such file or directory

"ruby --^M"というコマンドを起動しようとするから。FreeBSDならいけるんだけど。


2002-10-18 (Fri)

[Ruby] WIN32OLE 0.5.2

更新。

[Linux] OpenSSH 3.5p1

10/14に出ていたらしい。


2002-10-19 (Sat)

[Ruby] mkmf.rb and extmk.rb

このところ週末はのんびりビデオ観賞三昧だったもんだから、 なかださんがしびれを切らしたようだ。もうしわけない。 かなり変更してるのでdiffファイルを見ただけだとわからない。 パッチをあててからじっくり見よう。

win32/Makefile.subだけrejectしてしまうなあ。

patching file win32/Makefile.sub
Hunk #3 FAILED at 96.
Hunk #9 succeeded at 291 with fuzz 2.
Hunk #18 succeeded at 487 (offset -3 lines).
1 out of 18 hunks FAILED -- saving rejects to file win32/Makefile.sub.rej

かなり小さくなるね。パッチをあてる前:

% ls -l lib/mkmf.rb ext/extmk.rb
-rwxr-xr-x    1 watanabe ruby        14205 Oct  4 14:18 ext/extmk.rb
-rw-r--r--    1 watanabe ruby        21343 Sep 25 17:49 lib/mkmf.rb

パッチをあてた後:

% ls -l lib/mkmf.rb ext/extmk.rb
-rwxr-xr-x    1 watanabe ruby         4944 Oct 19 23:10 ext/extmk.rb
-rw-r--r--    1 watanabe ruby        19729 Oct 19 23:10 lib/mkmf.rb

2002-10-20 (Sun)

[Ruby] 改良mkmf.rbパッチ

クロス環境を試す。configure.inの

MINIRUBY="$(RUBY) -I`pwd` -rfake"

がまずい。

MINIRUBY="\$(RUBY) -I`pwd` -rfake"

としよう。

Makefile.inのこの変更もわからない。

class TOPLEVEL_CONST;

こんなクラスはないと思うんだけど。

mkmf.rbの

for f in files
  return true if t < (mtime[f] or next)
end

もまずいなあ。void value expression (SyntaxError)になる。 あ、これは

ruby 1.7.3 (2002-10-16) [i386-linux]

の所為か。最新にしたら問題ない。 [ruby-dev:18534]はこれのためか。

ext/はauto-importになってるなあ。そうか。defines.hのRUBY_EXPORT対応が抜けているからだ。 というよりこれもパッチに入れ忘れたというべき?

[Cygwin][Linux] Linux上にCygwin 1.3.13-2クロス環境構築

1.3.13も落ち着いた気がするので、そろそろLinux上のクロス環境も更新しよう。 基本的には 前回テスト的にインストールしたのと同じ手順だ。今回使うのは以下のファイル。

binutils-20020706-2-src.tar.bz2
gcc-3.2-1-src.tar.bz2
cygwin-1.3.13-2.tar.bz2
gcc-mingw-3.2-20020817-1.tar.bz2
mingw-runtime-2.2-1.tar.bz2
w32api-2.0-1.tar.bz2

ソースはbinutilsとgccだけ。

_ 準備:

prefixは/usr/local/cygwinとする。 念のため今までの環境はrenameして取っておく。

% mv /usr/local/cygwin{,-1.3.12}
% prefix=/usr/local/cygwin
% mkdir -p $prefix/i686-pc-cygwin
% tar xfv cygwin-1.3.13-2.tar.bz2 --us=bzip2 usr/{include,lib}
% tar xfv mingw-runtime-2.2-1.tar.bz2 --us=bzip2 usr/{include,lib}
% tar xfv w32api-2.0-1.tar.bz2 --us=bzip2 usr/{include,lib}

_ binutils:

% tar xfv binutils-20020706-2-src.tar.bz2 --us=bzip2
% cd binutils-20020706-2
% CFLAGS=-Os ./configure --prefix=$prefix --target=i686-pc-cygwin
% make
% make install

_ gcc:

% tar xfv gcc-3.2-1-src.tar.bz2 --us=bzip2
% cd gcc-3.2-1
% mkdir cygwin; cd cygwin
% CFLAGS=-Os CXXFLAGS=-Os ../configure --enable-languages=c,c++ \
  --enable-threads=posix --with-system-zlib --disable-nls \
  --without-included-gettext --disable-shared --enable-interpreter \
  --disable-sjlj-exceptions --disable-version-specific-runtime-libs \
  --target=i686-pc-cygwin --enable-haifa --prefix=$prefix

一個ディレクトリを掘っておかないと i586-pc-linux-gnuというディレクトリにMakefileができてたりするので注意。 buffer overrunは直ってないようなので、gcc/config/i386/cygwin.hは適当に +10しとこう。

% make 
% make install

_ mingw-runtime:

% mkdir -p $prefix/i686-pc-mingw32
% cd $prefix/i686-pc-mingw32
% ln -s ../i686-pc-cygwin/bin .
% ln -s ../i686-pc-cygwin/include/mingw include
% ln -s ../i686-pc-cygwin/lib/mingw lib
% cd ~-/../..
% tar xfO gcc-mingw-3.2-20020817-1.tar.bz2 --us=bzip2 \
  etc/postinstall/gcc-mingw-3.2-20020817-1.tar | \
  tar xfv - -C $prefix
% cd $prefix/lib/gcc-lib/i686-pc-mingw32/3.2
% ln -s ../../i686-pc-cygwin/3.2/{cc1,cc1plus,cpp0,tradcpp0,collect2} .
% rm *.exe

以上でok。あとは/usr/local/cygwin/binにpathを通しておく。


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