MinGW build.blog

2013年02月

今回MinGWをすべて自分でビルドするにあたってのコンセプト
目標その1. ビルドに必要な開発補助ツール・ライブラリなども可能な限りソースからコンパイルする。現在の達成状況はこちら→mingw32編msys編
目標その2. 可能な限り最新版ソースを使用する。(svn、git利用も含む)
目標その3. UNIXからの移植がしやすいmingw-w64を使用。ただし32bitマシン上のネイティブ環境ですべてコンパイルすること。クロスコンパイル(Cygwinを含む)は無しの方向。

前回「podchecker」が無いため、強引にdos2unix のインストールを行いました。perl のコンパイルは一度だけ試してみて、自分には手に手に負えなそうだったので、後回しにしようという判断でした。しかし、configure スクリプトが動くようになった今、configure スクリプトがないgit / svn のソースをビルドするためには、autotools の他にperl が必要不可欠になり、いつまでも逃げていられないのが現実です。


3-16. perlのインストール
(リスト番号104)

続きを読む

今回MinGWをすべて自分でビルドするにあたってのコンセプト
目標その1. ビルドに必要な開発補助ツール・ライブラリなども可能な限りソースからコンパイルする。現在の達成状況はこちら→mingw32編msys編
目標その2. 可能な限り最新版ソースを使用する。(svn、git利用も含む)
目標その3. UNIXからの移植がしやすいmingw-w64を使用。ただし32bitマシン上のネイティブ環境ですべてコンパイルすること。クロスコンパイル(Cygwinを含む)は無しの方向。

以前bash をmingw-gcc でビルドして、テストで新MSYSを起動してみると、
0 [main] bash 660 open_stackdumpfile: Dumping stack trace to bash.exe.stackdump
0 [main] bash 3660 open_stackdumpfile: Dumping stack trace to bash.exe.stackdump
0 [main] bash 2180 open_stackdumpfile: Dumping stack trace to bash.exe.stackdump
..............

というエラー。原因は~/.profile が以前書いた方法でWindows のエディタで作ったため、改行コードがWindows のCR+LF になっていたことでした。MSYS 用のbash ではこの辺は対策が取られていますのでエラーは出ません。


3-15. dos2unixのインストール
(リスト番号25)

続きを読む

今回MinGWをすべて自分でビルドするにあたってのコンセプト
目標その1. ビルドに必要な開発補助ツール・ライブラリなども可能な限りソースからコンパイルする。現在の達成状況はこちら→mingw32編msys編
目標その2. 可能な限り最新版ソースを使用する。(svn、git利用も含む)
目標その3. UNIXからの移植がしやすいmingw-w64を使用。ただし32bitマシン上のネイティブ環境ですべてコンパイルすること。クロスコンパイル(Cygwinを含む)は無しの方向。


前回、「make をmake するmake が無い」というオチがつきました散々引っ張っておいてあれですが、make はMinGW.org のmsys-make のソースを使います。
前回のconfigure スクリプトの最後のほうで、

WARNING: Your system has neither waitpid() nor wait3().
         Without one of these, signal handling is unreliable.
         You should be aware that running GNU make with -j
         could result in erratic behavior.

ということなので、waitpid もwait3 もmingw には無いので並列コンパイル(-j オプション)を諦めるだけなら良いのですが、例のMSYS のパスの問題もあるので、ここは断腸の思いでMSYS 用のソースを使います。


3-14. make のインストール
(リスト番号87)

続きを読む

今回MinGWをすべて自分でビルドするにあたってのコンセプト
目標その1. ビルドに必要な開発補助ツール・ライブラリなども可能な限りソースからコンパイルする。現在の達成状況はこちら→mingw32編msys編
目標その2. 可能な限り最新版ソースを使用する。(svn、git利用も含む)
目標その3. UNIXからの移植がしやすいmingw-w64を使用。ただし32bitマシン上のネイティブ環境ですべてコンパイルすること。クロスコンパイル(Cygwinを含む)は無しの方向。

前回までのあらすじ。

新たにビルドした/new-msys に存在しているのは、msysCOREbashcoreutils だけという状態ですが、msys-1.0.dll に依存しないwgettar (bsdtar)は/mingw 以下にインストールするというローカルルールで構築していますので、make のソースのダウンロード・解凍が/new-msys のmsys.bat からでも可能になりました。
wget http://ftp.gnu.org/gnu/make/make-3.82.tar.gz
tar xvf make-3.82.tar.gz
そこで早速
cd make-3.82
./configure
とやってみますと、
./configure: line 539: sed: command not found
どうもsed とかいうヤツが必要らしいぞ!

ということで、もうしばらくこの茶番劇にお付き合いください・・・。


3-11. sed のインストール
(リスト番号108)

続きを読む

このページのトップヘ