Cygwinのページ
準備中です。旧ページのほうも御覧ください。
- Cygwin-1.* のインストール(2000/12/04)
setup.exe を使ったインストール方法を書いてみました。現在インストール完了
までしか作成していませんが、さらなるカスタマイズ方法についても書く予定です。
ちなみに図として挿入している画像ファイルのフォーマットは png です。
 
GNU screen-3.9.4 を Cygwin-1.1 で
make するためのパッチ(もしかしたら ncurses が必要かも)
なお、これあててもちょっと不具合が残ってます。
(2000.05.12 追記)
上記不具合とは関係ないですが、パッチがバグってました。それの修正と
Makefile.in へのパッチも含む新しいファイルに差し替えました。あと、
screen の make には、要 libcrypt。
いま手許にあるもの:
ktrn-3.7.1-3.5 with mime-patch, acct.h, acct-6.3.2(の、一部), 
inetutils-1.3.2 with patch, inn-CURRENT-20000413(?), jwhois-2.4.1,
libcrypt, man-1.5g, ncurses-5.0, nkf-1.7, perl5.5.660 with patch,
readline-2.2, screen-3.9.5, shtool-1.4.8, ssh-1.2.27, tcsh-6.09.00,
textutils-2.0, vim3.0-jvim2.0a, zlib-1.1.3
戻る
最近の作業記録
これだけではさすがにあんまりなので(前のページはほとんどいじってないし)、
Cygwin を使ってコンパイルに挑戦してみたり 環境設定したりの記録を残してみる
ことにする。
  - [ コンパイル記録 ]
  
 - 何も書いていない限り、Windows98 + Cygwin-B20.1 で Make して…いたの
ですが、4月くらいから Windows2000 Pro + 1.1 prerelease → 1.1 release
でやってます。
きりがないので現在の環境(2000/10/12):
  
  - Windows2000 Pro + 1.1.1 Release?
  
 - Windows Me + 1.1.4 Release
  
 
  いまは、Windows Me の方がメインですね。なにかコンパイルしたら OS とかも
  書いておくことにします。
  
    - いろいろ (2000/11/16)
    まっさらな WindowsME に 1.1.4 を入れると、ネットワーク周りがまともに
    機能しない(Win98 からのアップグレードなら使える)ので、
    WindowsME + 1.1.5 でやってるんですがちゃんと動いてくれないアプリとか
    あってちょっとイヤーンな感じです。Perl がちゃんと動いてくれると
    いいんですけど…。
     - tcsh-6.09.00 (2000/03/30)
    WindowsNT 向けの "#ifdef" のほとんどを、CYGWIN 環境下では
    使用しないで コンパイルするように書き換える。動作しているが、なんか変。
    (2000.04.07 追記)
    ncurses-5.0 を入れて、err_* でひっかかるのでこのへんは tcsh 自身のそれを
    使うように書き換えて make したら、動くものができた。コマンド窓をスクロール
    させた状態でキーたたいても戻ってくれないみたいなのがアレですけど。なんか
    しくじった? 
    - tcsh-6.07.02 (2000/04/05)
    ncueses-5.0 をインストールした後、昔用意してた tar アーカイブを make して
    みる。err_ なんちゃらでひっかかったが、一応コンパイルできた。ちゃんと動い
    ているように見える。ncursesを使ったら、tcsh-6.09 も動く…のかなぁ。 
    - squid-2.3.STABLE2 (2000/03/30)
    一応、configure + make でコンパイルは終了する。"squid -z" で
    キャッシュ ディレクトリを作ることはできるが、サーバとして(Win98 上で)
    squid を起動させると unlinkd がクラッシュする。それでも一応動きつづけて
    くれるみたいではあるが、動作が重たい上に「ブラウザから squid に接続でき
    ない」。
    いっしょに make されるテスト用クライアントプログラム (client) で
    他の proxy サーバに接続したりはできる。
     - lpr-0.35 (2000/03/30)
    lpr とか lprm のソースなのだが、どこから取ってきたのか忘れた。 
    Cygwin 用の定義を追加したり、ulong をただの long で typedef したりして
    一応 make はできそうなのだが、いくつか関数がなかったり、そもそも
    UNIX ドメイン ソケットが必要だったりで、B20.1 では相当手を入れないと
    make できそうにない。 それだけの価値があるかというと、そうでもない
    ような。それに、lpd(デーモン)が make できてかつちゃんと使えるのかと
    いう疑問もある。
    (2000.04.07 追記)
    そもそも Windows2000 に lpr コマンドがあるので、わざわざ作ることも
    ないかと思い、やめる。もっとも、Win2000 のそれには lpr と lpq しか
    ないし、書式が UNIX コマンドのそれとは微妙に違うと思う…
     - a2ps4.0 (2000/03/30)
    Make はできてますが、動作確認はしてません。
    (2000.04.07 追記)
    デフォルトのままでは、a2ps にかけるとそのまま lpr コマンドでプリンタに
    吐き出そうとする (@_@) ので、そこを書き換えてコンパイル。とりあえず、
    PostScript ファイルを吐き出してくれますが、いかんせん日本語文字コードに
    対応していなかった(みたい)。
     - inetutils-1.3.2 (2000/04/07)
    h_errno とか使おうとして怒られるので、これを使わないでコンパイルを
    行うように書き換えて、make。あ、その前にパッチをあてたんですが、これは
    もしかしたら不要なのかもしれない(Cygwin-1.1 には UNIX ドメインソケット
    のエミュレーションが入ってるし)。
    で、コンパイルできたし、インストールして ftp 接続して ls できるとかは
    見たんですが、肝心の telnet ができない。よそから login.exe をもってきて
    突っ込んであるんだけど、どうも認証してくれていない模様。
    Administrators 権限のあるユーザで稼動した状態じゃないとだめなのか?
    (2000.04.28 追記)
    サービスとして動かせばすべてオーケーでした。パスワード認証も通ります…
    が、Power Users グループの人じゃないと使うのは駄目な模様。
    (2000.05.01 追記)
    忘れてましたが、サービス用のユーザを作ってやったほうがいいです。そうで
    ないと、プロセスをとめたり再起動したりする手段が「OS 再起動」くらいしか
    なくなって、つらいです。
     - regex-0.12 (2000/04/11)
    inn を make しようとすると、regex.h がないとほざくので、しょうがないから
    探してきて make する。コンパイルして、regex.h を /usr/local/include に
    コピー、regex.o をとりあえずそのまま /usr/local/lib にコピー。 
    - inn-CURRENT-*.tar.gz (2000/04/19)
    2.2.2 を make しようとすると、Perl のライブラリをリンクする段階で
    つまづいてにっちもさっちもいかないので、しょうがないから最近の
    snapshot を取得してくる。inews とか innd なんかは make できるんだけども、
    いくつか make できないのがあるのと、inn を使っても krn が make できな
    かったので、とりあえずほったらかし。 
    - krn (2000/04/19)
    nntp-1.5.11 を拾ってきて、make client で inews.exe を作ってインストール。
    その後、krn を make する。途中で nntp のソースの場所を聞いてくるので
    それを指定する必要がある。
    いくつかのヘッダファイルの存在が Configure で検出されてないので、
    それを手直しして makedepend して、make。画面表示は SJIS encoding なので
    文字コードは SJIS に指定して、ファイルの文字コードは JIS にする。
    一応読み書きできるのであるが、英語のままのメッセージがあるのはどこか
    しくじっている…んだろうな、やっぱ。 
    - textutils-2.0 (2000/04/19)
    textutils をコンパイルする。とくに問題なかったような気がする。
    make check すると失敗するテストがあるが、それは既存のやつ (1.2) でも
    同じようなので気にしないことにしてインストールする。
    ていうか、なんで cygwin のパッケージには 1.2 が使われているんだ? 
    - GNU finger-1.37 (2000/04/28)
    ええと、acct.h がないとか言うので、Linux からかっぱらってきて適当に
    修正して、どうにかコンパイルが通るところまではたどり着いたんですが、
    fingerd は何も返しません。まぁ、あたりまえか?ちなみに finger は、
    動くかどうかわかりません。確認できる環境がないので…。まぁ、Windows 
    の finger クライアントがあるので、動いてもあまりうれしくありませんが。
    (2000.11.16 追記)
    WindowsMe + 1.1.5 環境で、MkLinux からかっぱらってきた sys/acct.h と
    linux/acct.h を使って Make してみました。一応 fingerd も動くようで、
    ログイン名とか返してくれますが、だんまりになってしまって finger 
    クライアントを Ctrl-C とかで終わらせる羽目に。うーん?ログイン状況か
    なにかを取得しようとしたまま fingerd がだんまりになってしまっている
    んですかね。
     
    - GNU screen-3.09.04 (2000/04/28)
    Cygwin-1.1 で UNIX ドメインソケットがサポートされているおかげで、
    動きます。ただし、ncurses ライブラリを使った状態でしか確認してません。
    基本的に、ifdef linux なところを cygwin でも有効になるようにしてやれば
    通ります。あと、設定ファイルとかの置き場所も修正する必要があるかも。
    で、そのまま「わーい、できた」と動かすとハマルので、はやる気持ちを
    抑えつつ touch /etc/ttys してやる、と。なるほど、screen とはこういう
    やつなのか。おもしろいね。というわけで、
    パッチ
    置いておきます。
    (2000.05.01 追記)
    なんか、スクリーンロックかけると復帰できなくなります。
    uscreens に置かれるファイル名は [process_id].nul.[ hostname ] に
    なっているのに、[ process_id ].tty0.[ hostname ] とか開こうと
    しているためと思われるが、有効な策はまだみつからず。
    (2000.05.12 追記)
    screen-3.9.5 が linux 関係の ftp サーバ(どこだったか忘れた)に
    あったので拾ってくる。3.9.4 のパッチをあててみると、ほぼそのまま
    適用できる。1箇所 reject されるがそれは無視して make することが
    できる。
    
    (2000.10.12 追記)
    WinMe + Cygwin-1.1.4 上で screen-3.9.8 を make してみる。
    さすがにパッチをそのまま適用することはできないと思うので、
    make の時にひっかかるところだけを手で編集する。ちなみに termcap 
    ライブラリを使用。状況としては 3.9.4 と同じように、サスペンドなど
    すると復帰できない…のだが、なぜか復帰できる場合もあって、
    よくわからない。screen コマンドで復帰しようとすると失敗するのかなとも
    思うが、ではサスペンド後 fg コマンドでいつも復帰できるかというと
    そうでもない感じ。ちなみにパッチは用意していません。
     
    - Perl-5.5.660 (2000/05/22)
    今さらかもしれんが、Win98 にインストールした Cygwin-1.1.1 上で
    Perl-5.5.660 を make してみる。なんか dllwrap の段階で、"/tmp\hoge"
    にアクセスしようとする…("/" でなくて "\" なのがポイント)。
    Cygwin 起動時に環境変数 TMP, TEMP を消していたのをやめたら正常に
    進行するようになったんですけども、これってもしかしてバグ?それとも
    仕様? 
  
   - [ 環境設定記録 ]
  
    - Cygwin-1.1 netrelease を入れる。(2000/03/30)
    といっても、まだ出ていないのでpre-release 版、ですが。
    今までみたくインストーラが起動して…ではなくて、tar.gz アーカイブを
    シコシコと展開していく地道な作業になります。一応、インストーラも
    準備されつつあるようです。
    詳しいことは後日書くとして、今はインストールも終わって最新の
    snapshot をコンパイル中です。それにしても実行速度が少し遅い
    ような感じがするのは気のせいかしらん。
    (2000/04/05 追記)
    新しい snapshot を突っ込んでみる。わりと快適。それにしても、
    runtest がちゃんと動いてくれないんですけど…環境変数を適当に
    設定しちゃったけど、これで正しいのか??
    (2000.04.07 追記)
    ちなみに、インストールするには「バイナリの tar.gz アーカイブを全部」
    と、「インストールのために必要な gzip と tar と(B20.1 の?)cygwin1.dll」
    の zip アーカイブをダウンロードして、zip アーカイブを展開して、
    こいつを使って好きなところ(Cygwin 環境のルートディレクトリになるところ)
    に展開してやれば OK。起動用のバッチファイルはついてこないので、
    自分でなんとかしなくてはならない。B20.1 のやつをとっておいて、これを
    書き換えるようにすればいいかもしれない。
    ところで、この tar.gz アーカイブは、行末コード変換有効な状態で展開する
    のが正しいのだろうか?それとも?
    (2000.04.19 追記)
    先日 Cygwin-1.1 が正式にリリースされた旨、cygnus のページにアナウンスが
    あった…のですが、肝心の中身がプレリリース版からあまり変わっていないよう
    な感じがします。それに、cygwin-ML をみてるとなんだかインストーラに関する
    トラブルとかが出ている模様。インストールできないわけじゃないんだけどね…。
    もうちっと待ってたほうがいいんですかね。と書きつつ、私は昨日ダウンロード
    済ませていたりしますが。
    (2000.05.12 追記)
    Windows2000 だと、gdb がうごかねぇので別に用意されているバイナリに
    差し替える。あと、dejagnu がおかしいような気がするんですけど…。
    (2000.05.22 追記)
    dejagnu (runtest) が腐っているのは expect コマンドが腐っているせい
    らしい…。拾ってきて make してみるか?
   
  - [ その他 ]
  
  - 計画
  
    - Cygwin の実行ファイルとか自分で make したアプリとかをまとめて CD-R に焼いて、「ハードディスクにインストールしなくても使える」ものを作っ
    てみる。 (2000/03/30)
    とりあえず実験的に、C:/cygnus/... 以下を CD-R に焼いて、それを使用するための バッチファイルやシェルスクリプトを書いてみる。使うことができるのは確認した。
    ただし当然、/tmp とかはハードディスク上に作ることになる。あと、ホームを /usr/users ... におくようにしていた都合で、ハードディスクから
    CD-R への シンボリックリンクを張ったりした。
   
 
docile-AtMark-docile.org