xpm
- http://gnuwin32.sourceforge.net/packages/xpm.htm から「Developer files」をダウンロードし、md5をチェックする。
md5 の値が一致しない場合、危険なファイルである可能性が高いため使用せず、本家の対応を待つ。
また、ここからの作業は bash にて行う。
- 解凍し、xpm_lib_for_mingw.patch をダウンロードしパッチを充てる。
- /c/MinGW へ全てを置く。include と lib は同じフォルダが存在するので中身だけ、manifest はそのままフォルダごと移す。
- 以下、bash 上での「md5値の確認」からの一連の流れ。
$ md5sum.exe xpm-???-lib.zip ( ??? はバージョン番号 )
( 表示される文字列とweb上の文字列が一致することを確認 )
( zipファイルを解凍(展開)する )
$ cd xpm-???-lib
$ patch -p1 < [xpm_lib_for_mingw.patchのパス]
$ mv include/* /c/MinGW/include/
$ mv lib/* /c/MinGW/lib/
$ mv manifest /c/MinGW/
$ export CPPFLAGS='-I/c/swarm/include'
$ export LDFLAGS='-L/c/swarm/lib'
$ cd Swarm-2.4.1-MinGW-sources/sources/
$ tar jxf libpng-1.5.4.tar.bz2
$ cd libpng-1.5.4
$ ./configure --prefix=/c/swarm
$ make
$ make install
$ cd ../ ( libpngの作業からの続き、これでSwarm-2.4.1-MinGW-sources/sources/に移動 )
$ tar zxf tcl8.4.19-src.tar.gz
$ cd tcl8.4.19
$ patch -p1 < ../../patches/tcl-8.4.19-fix-lvalues.patch
$ cd win
$ ./configure --prefix=/c/swarm
$ make
$ make install
$ cd ../../ ( tclの作業からの続き、これでSwarm-2.4.1-MinGW-sources/sources/に移動 )
$ tar zxf tk8.4.19-src.tar.gz
$ cd tk8.4.19/win
$ ./configure --prefix=/c/swarm
$ make
$ make install
$ cd ../../ ( tkの作業からの続き、これでSwarm-2.4.1-MinGW-sources/sources/に移動 )
$ tar zxf BLT2.4z.tar.gz
$ cd blt2.4z
$ ./configure --prefix=/c/swarm --without-x
$ make
$ make install
- http://ftp.gnu.org/gnu/emacs/windows/ から emacs-???-bin-i386.zip ( ??? は最新版のバージョン番号 ) をダウンロードする。
( 可能ならば署名の確認を行う )
- 解凍し、全てを/c/MinGW以下へ置く。binフォルダは既に存在するので中身だけ移し、他のフォルダはそのまま /c/MinGW 以下へ移す。
$ cd emacs-??? ( ??? はバージョン番号 )
$ mv bin/* /c/MinGW/bin/
$ rmdir bin
$ mv * /c/MinGW/
- http://gnuwin32.sourceforge.net/packages/gperf.htm から「Binaries」をダウンロード、md5 をチェックする。
md5 の値が一致しない場合、危険なファイルである可能性が高いため使用せず、本家の対応を待つ。
- 解凍し、bin/gperf.exe を /c/MinGW/bin 以下へ置く。
- 以下、bash 上での「md5値の確認」からの一連の流れ。
$ md5sum.exe gperf-???-bin.zip ( ???はバージョン番号 )
( 表示される文字列とweb上の文字列が一致することを確認 )
( zipファイルを解凍(展開)する )
$ cd gperf-???-bin
$ mv bin/gperf.exe /c/MinGW/bin/
- oracle から最新版の「Windows x86」の「Java SE Development Kit」をダウンロードし、インストールする。
- 環境変数「PATH」に jdk/bin フォルダへのパスを末尾に追加する。以下に通常、jdk/bin がインストールされるパスを示す ( ??? はバージョン番号 )。
( 追加するパスの先頭に、区切り文字である「;」を忘れないこと )
- C:\Program Files\java\jdk???\bin ( 32bit OS の場合 )
- C:\Program Files (x86)\java\jdk???\bin ( 64bit OS の場合 )
$ export CPPFLAGS=-I/c/swarm/include
$ tar zxf swarm-2.2_fix_0.36.tgz
$ cd swarm-2.2_fix_0.36
$ patch -p1 < [swarm_findImp_for_win8.1.patchのパス] ( Windows 8.1 の場合のみ )
$ export CFLAGS='-g -O2 -std=gnu90'
$ ./configure --prefix=/c/swarm ( 改行せずに一行で入力すること )
--with-xpmdir=/c/MinGW
--with-tcldir=/c/swarm
--with-tclscriptdir=/c/swarm/lib/tcl8.4
--with-tkdir=/c/swarm
--with-tkscriptdir=/c/swarm/lib/tk8.4
--with-jdkdir=/c/PROGRA~2/Java/jdk??? ( ??? は最新版のバージョン番号 )
( 通常、java は 「Program Files」か「Program Files (x86)」以下に置かれるので、--with-jdkdir には省略形のパスを渡すこと )
$ make
$ make install
- configure オプションに渡す全てのパスは、スペースを含んではならない。スペースを含むパスを使用する場合はWindowsの省略パスを使用すること。
- コマンドプロンプトで「dir /x」で省略パスを確認できる ( bash を起動した状態では不可 )。以下、赤枠の左側が省略形。
- configure 時に「checking whether floats are returned in integer registers...」で conftest.exe エラーが起こるが、問題ない。
( 特殊なキャストが実行可能か試す際に、このエラーが発生する )
- make install 後に以下の環境変数を設定する。既に同名の環境変数が設定されているものは、末尾に「;」を付け区切り、その後に追記する。
PATH => C:\swarm\bin (追記の例 PATH => [既に設定されているパス];C:\swarm\bin )
SWARMHOME => /c/swarm/
CLASSPATH => .;C:\swarm\share\swarm\kawa.jar;C:\swarm\share\swarm\swarm.jar
実行
- 設定した環境変数を有効にするため、コマンドプロンプトを新しく立ち上げる。
- javac *.java ( 64bit 環境の場合、64bit 版 java を使用しないよう注意 )
- java [クラス名]
FAQ
- まれなケースだが、Octaveがインストールされている場合、正常に動作しない。
- 他に、Swarm-2.4.1-MinGWのインストール中に問題が発生する場合、同じコマンドを使用する他のプログラムと競合している場合がある。
その場合、bash上でexport PATH=/c/MinGW/bin:/c/MinGW/msys/1.0/bin:/c/swarm/bin:$PATHと、環境変数PATHの先頭に一時的にパスを追加することで動作する場合がある。
- クリーンな環境にインストールする場合、上記のような問題は発生しないので、どうしてもうまく行かない人は試してみてほしい。