ソフトウェア/cygwin
Cygwin†
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 サーバーを構築するなどができます。
スタックサイズの割り当て変更†
cygwin 上の ruby スクリプトから system 関数を使って外部プログラムを呼び出そうとしたところ、
LANG:console 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: 6409 (from 2010/06/03),
today: 1,
yesterday: 0