ソフトウェア/cygwin の変更点

更新


* Cygwin [#z3b6f98a]

Cygwin は Unix 上のソフトを Windows 上にポートするための基本ライブラリで、
付属のパッケージマネージャで好きなソフトを選んでインストール・使用できる物です。~
http://www.cygwin.com/

- gcc, ruby, perl, python, git などの開発ツール
- bash 他のコマンドラインツール
- X, tcl/tk, KDE, gnome 他の GUI ツール
- apache2 他の Web 関連ソフト

など、標準でもかなりのものがそろっています。

標準にないものについては、

Cygwin ports プロジェクトというのがあって、~
http://sourceware.org/cygwinports/ ~
ここにはさらに多くのソフトウェアが cygwin パッケージとして提供されています。

たとえば php などもあるので、apache2 と組み合わせて Windows 上に 
開発・テスト用の Web サーバーを構築するなどができます。

* スタックサイズの割り当て変更 [#qe363d96]

cygwin 上の ruby スクリプトから system 関数を使って外部プログラムを呼び出そうとしたところ、

 LANG:console
       0 [main] ruby 46632 child_info_fork::abort: can't commit memory for stack 0x286000(106496), Win32 error 487
      0 [main] ruby 46632 child_info_fork::abort: can't commit memory for stack 0x286000(106496), Win32 error 487
    111 [main] ruby 46648 child_info_fork::abort: can't commit memory for stack 0x286000(106496), Win32 error 487
      0 [main] ruby 46680 child_info_fork::abort: can't commit memory for stack 0x286000(106496), Win32 error 487
      0 [main] ruby 46708 child_info_fork::abort: can't commit memory for stack 0x286000(106496), Win32 error 487
    125 [main] ruby 46724 child_info_fork::abort: can't commit memory for stack 0x286000(106496), Win32 error 487
      0 [main] ruby 46752 child_info_fork::abort: can't commit memory for stack 0x286000(106496), Win32 error 487
     72 [main] ruby 46768 child_info_fork::abort: can't commit memory for stack 0x286000(106496), Win32 error 487
      0 [main] ruby 46796 child_info_fork::abort: can't commit memory for stack 0x286000(106496), Win32 error 487
    152 [main] ruby 46812 child_info_fork::abort: can't commit memory for stack 0x286000(106496), Win32 error 487
     78 [main] ruby 46828 child_info_fork::abort: can't commit memory for stack 0x286000(106496), Win32 error 487
      0 [main] ruby 46844 child_info_fork::abort: can't commit memory for stack 0x286000(106496), Win32 error 487
      0 [main] ruby 46860 child_info_fork::abort: can't commit memory for stack 0x286000(106496), Win32 error 487

のようなエラーが出て困りました。

http://iwadon.hateblo.jp/entry/2012/03/31/035715

を参考に、

 LANG:console
 $ peflags -x0x400000 /usr/bin/ruby

としたら動くようになりました。

Counter: 5987 (from 2010/06/03), today: 1, yesterday: 0