〜2001年3月下旬〜
\\host\share\.ではだめで
\\host\share\にする必要がある。 つまり\\host\shareという階層かどうかを判断しないとだめだ。
\\host\share\ならWin9X/MEでもok。
% /c/windows/extrac32 source.cab Microsoft (R) Cabinet Extraction Tool - Version (32G) 4.11.0603.3 (12/31/97) Copyright (c) Microsoft Corp 1994-1997. All rights reserved. Cabinet source.cab 05-09-2000 11:28:44p A--- 473 Makefile 05-09-2000 11:28:28p A--- 1,550 bcc.mak 05-21-2000 3:20:50a A--- 691 mayu-bcc.mak <後略>てな感じでリストを見ることができました。
% /c/windows/extrac32 source.cab Makefile Microsoft (R) Cabinet Extraction Tool - Version (32G) 4.11.0603.3 (12/31/97) Copyright (c) Microsoft Corp 1994-1997. All rights reserved. Cabinet source.cab Extracting Makefile Extracting s\Makefile Extracting d\Makefile Extracting d\nt4\Makefileあらら。全部出ちゃうのか。
% ls -l mayu.tar.* source.cab -rw-r--r-- 1 watanabe ruby 95360 Mar 24 00:45 mayu.tar.bz2 -rw-r--r-- 1 watanabe ruby 111386 Mar 24 00:44 mayu.tar.gz -rw-r--r-- 1 watanabe ruby 95586 Mar 24 00:31 source.cabなんか圧縮率もいいなあ。
% ruby -i~ -pe 'gsub /srand48/, "srand"' main.c url.c % ruby -i~ -pe 'gsub /lrand48/, "rand"' local.c url.cそれはそれとして、WinNTで実行するとSEGVる気がする。 そのうち調べてみよう。
#\ print 'Just another Ruby hacker,';\ __END__ all: @ruby Makefile
% env CFLAGS=-Os CC='i686-pc-cygwin-gcc' \ ac_cv_func_getpgrp_void=yes \ ac_cv_func_setpgrp_void=yes \ ac_cv_sizeof_long_long=8 \ ac_cv_func_memcmp_clean=yes \ ac_cv_func_getrlimit=no \ ./configure \ --target=i386-cygwin \ --host=i686-pc-cygwin \ --build=i586-pc-linux-gnu \ --program-prefix='' \ --includedir=/usr/local/cygwin-local/include \ --with-tcl-dir=/usr/local/mingw \ --with-tk-dir=/usr/local/mingw \ --enable-tcltk_stubs \ --with-tcllib=tclstub83 \ --with-tklib=tkstub83 \ --with-curses-dir=/usr/local/cygwin-local/ncurses \ --with-opt-dir=/usr/local/cygwin-local \ --enable-sharedあ、Cygwin 1.1.8になったんだから getrlimitはnoにする必要はないんだった。
% env CFLAGS=-Os CC="i686-pc-cygwin-gcc -bmingw" \ ac_cv_func_getpgrp_void=yes \ ac_cv_func_setpgrp_void=yes \ ac_cv_c_bigendian=no \ ac_cv_sizeof_long_long=8 \ ac_cv_func_memcmp_clean=yes \ ./configure \ --target=i386-mingw32 \ --host=i686-pc-cygwin \ --build=i586-pc-linux-gnu \ --includedir=/usr/local/mingw/include \ --enable-tcltk_stubs \ --with-tcllib=tclstub83 \ --with-tklib=tkstub83 \ --with-opt-dir=/usr/local/mingw \ --enable-shared
% lftp http://www9.xdsl.ne.jp/~aamine/soft/ icrosoft FTP Service: . cd ok, cwd=~aamine/soft lftp www9.xdsl.ne.jp:~aamine/soft> ls drwxr-xr-x -- ../ja/softica drwxr-xr-x -- ../en -rw-r--r-- -- amstd-1.9.7.tar.gz -rw-r--r-- -- inetc-1.3.3.tar.gz -rw-r--r-- -- mailest-0.0.8.tar.gz -rw-r--r-- -- net-1.1.34.tar.gz -rw-r--r-- -- net-1.2.0.tar.gz -rw-r--r-- -- racc-1.3.8.tar.gz -rw-r--r-- -- setup-2.0.2.tar.gz -rw-r--r-- -- setup-2.0.3.tar.gz -rw-r--r-- -- strscan-0.6.2.tar.gz -rw-r--r-- -- textbuf-0.3.8.tar.gz -rw-r--r-- -- tmail-0.9.3.tar.gz <途中略> -rw-r--r-- - 2001-0KB-20 00:00 rut -rw-r--r-- - 2001-3KB-20 00:00 sseruby.rb lftp www9.xdsl.ne.jp:~aamine/soft>ここでmget *.tar.gzできるのがlftpのいいところ。 この0KBとか3KBはlftpが理解できない形式だからか? てゆうかlftpはそんなとこまで見るんだ。 そうか。FancyIndexing対応か。
% lftp http://www.ruby-lang.org/~eban/ruby/ cd ok, cwd=~eban/ruby lftp www.ruby-lang.org:~eban/ruby> ls drwxr-xr-x - 2001-01-08 04:00 .. drwxr-xr-x - 2001-01-15 22:10 binaries -rw-r--r-- 1k 2001-01-22 00:02 fake-TARGET.rb -rw-r--r-- 1k 2001-01-22 00:02 fake_TARGET.rb lftp www.ruby-lang.org:~eban/ruby> cd binaries cd ok, cwd=~eban/ruby/binaries lftp www.ruby-lang.org:~eban/ruby/binaries> ls drwxr-xr-x - 2001-03-12 00:02 .. drwxr-xr-x - 2001-03-19 21:00 cygwin drwxr-xr-x - 2001-03-19 22:25 djgpp drwxr-xr-x - 2001-03-19 20:55 mingw lftp www.ruby-lang.org:~eban/ruby/binaries> cd cygwin cd ok, cwd=~eban/ruby/binaries/cygwin lftp www.ruby-lang.org:~eban/ruby/binaries/cygwin> ls -rw-r--r-- -- cygwin-1.1.8-2.dll.bz2 -rw-r--r-- -- cygwin-1.1.8-2-src.tar.gz drwxr-xr-x - 2001-02-19 23:33 .. -rw-r--r-- 263k 2001-02-01 00:09 cygwin1-1.1.8-2.dll.bz2 drwxr-xr-x - 2001-03-20 00:18 ext -rw-r--r-- 651k 2001-01-22 02:42 ruby-1.6.2-i386-cygwin.tar.gz -rw-r--r-- -- /en/download.html -rw-r--r-- 704k 2001-03-19 22:07 ruby-1.6.3-i386-cygwin.tar.gz -rw-r--r-- 127k 2001-01-26 18:05 xdelta.exe lftp www.ruby-lang.org:~eban/ruby/binaries/cygwin>そういうことみたいだ。
morse=eval <<'+'.unpack("m")[0] SGFzaFsqJXcoLi0gYQotLi4uIGIKLS4tLiBjCi0uLiBkCi4gZQouLi0uIGYK LS0uIGcKLi4uLiBoCi4uIGkKLi0tLSBqCi0uLSBrCi4tLi4gbAotLSBtCi0u IG4KLS0tIG8KLi0tLiBwCi0tLi0gcQouLS4gcgouLi4gcwotIHQKLi4tIHUK Li4uLSB2Ci4tLSB3Ci0uLi0geAotLi0tIHkKLS0uLiB6CnwgXCAKKV0K + <<'+'.split.map{|x|morse[x]||x}.join.gsub(/\b[jr]/){|x|x.upcase}.display .--- ..- ... - | .- -. --- - .... . .-. | .-. ..- -... -.-- | .... .- -.-. -.- . .-. , +
% echo '#!/bin/echo ok' >ok % chmod +x ok % sh -c ./ok ok ./ok % bash -c ./ok ok ./ok % zsh -c ./ok ok ./ok % tcsh -c ./ok ok ./ok % ksh -c ./ok ok ./okとりあえず、つい最近ashも更新されてるので、 ash-20010326をインストールしてみては?
% uname -a CYGWIN_98-4.10 JARH 1.3.0(0.35/3/2) 2001-02-25 15:01 i586 unknownとするとCygwin 1.1.8-2のバグかもしれないなあ。
% vi c:/tmp/hoge.txtなんてことはよくやってしまうと思うのだが *1、そのままセーブすると
% od -c c:/tmp/hoge.txt 0000000 h o g e \r \n 0000006ととてもいやなことになってたりする。 ちゃんとbinary modeでopenするようにjvimを書き換えればいいんだけど、 redirectも同じだしねえ。
% echo hoge >c:/tmp/hoge.txt % od -c c:/tmp/hoge.txt 0000000 h o g e \r \n 0000006で、いまごろ気づいたんだけど、これって
% mkdir -p /mnt/c % mount -b c: /mnt/cとか適当にmountしとけばいいようだ。
% echo hoge >c:/tmp/hoge.txt % od -c c:/tmp/hoge.txt 0000000 h o g e \n 0000005/cygdriveじゃ長過ぎて面倒なので
% mount -b --change-cygdrive-prefix /として
/c/tmp/hoge.txtでアクセスできるようにはしてたんだけど。
% echo hoge >//c/tmp/hoge.txt % od -c //c/tmp/hoge.txt 0000000 h o g e \r \n 0000006頑固一徹である。
% uname -a Linux ruby 2.2.18 #2 Sat Dec 23 15:12:42 JST 2000 i586 unknown % tar xfvz gcc-2.95.3-2-src.tar.gz % cd gcc-2.95.3-2 % mkdir obj; cd obj % CFLAGS=-Os CXXFLAGS=-Os \ ../configure \ --target=i686-pc-cygwin \ --prefix=/usr/local/cygwin \ --enable-languages=c,c++ % time make |& tee make.log <途中略> 2547.09s real 2354.09s user 154.67s sys 98% cpu 2547.09s real 0.08s user 0.22s sys 0% cpuできあがったgcc/specsを見ると%qが使われている。 ドキュメントにも反映されてない機能だ。てゆうかCygwinでの追加だな。 crt?.oがあるディレクトリを指定するために追加したようだ。
/usr/local/cygwin/include/{mingw,w32api}が存在しないし、nativeでは
/usr/i686-pc-cygwin/include/{mingw,w32api}が存在しない。どうする?
'Jaubsctd eafngohtihjekrl mRnuobpyq rhsatcukvewrx,y'. gsub(/(.)./,'\1').display