Annotation of OpenXM/doc/HOWTO/how_to_install_MinGW-MSYS2.txt, Revision 1.5
1.5 ! fujimoto 1: MinGW+MSYS2 環境の構築
1.1 fujimoto 2:
3: 1. msys2-64 をインストール
4: http://sourceforge.net/projects/msys2/files/Base/
5: より、msys2-x86_64-20150512.exe をダウンロードし、c:\msys64にインストール
6:
1.4 fujimoto 7: 2. スタートメニューから MSYS2 64bit→MinGW-w64 Win64 Shell を起動する。
1.2 ohara 8:
9: まずは、パッケージデータベースを更新する。
10: pacman -Sy
11:
12: 次に、初期導入パッケージのアップデート
13: pacman -Su
1.4 fujimoto 14: としてから、MinGW-w64 Win64 Shell の再起動、これを数度繰り返す。
1.2 ohara 15: アップデートがなくなったことを確認。
16:
17: 以下を実行。
18:
1.1 fujimoto 19: pacman -S base-devel
20: pacman -S msys2-devel
21: pacman -S mingw-w64-i686-toolchain
22: pacman -S mingw-w64-x86_64-toolchain
23:
24: ※pacman -Sl で導入済みのパッケージが確認可能。必要なコマンドが不足した場合は以下のように追加。
1.3 fujimoto 25: パッケージの検索は、pacman -Ss キーワード で行う。
1.1 fujimoto 26: pacman -S bison
27: pacman -S tar
28: pacman -S wget
29: pacman -S patch
30: pacman -S diffutils
31:
32: ※この環境には、3種類のコンパイラがある
1.4 fujimoto 33: - msys2-devel でインストールされる gcc は、MSYS2 Shell から使用し、これで生成したバイナリは、cygwin みたいに msys-2.0.dll を必要とする。
34: - mingw-w64-i686-toolchain の gcc は、MinGW-w64 Win32 Shell から使用し、これで生成したバイナリは、Windows native 32bit。
35: - mingw-w64-x86_64-toolchain の gcc は、MinGW-w64 Win64 Shell から使用し、これで生成したバイナリは、Windows native 64bit。
1.1 fujimoto 36:
1.5 ! fujimoto 37: 3. win32threads な gcc のインストール方法(オプション)
! 38: 前節の pacman を用いてインストールした msys-2.0.dll に依存しない gcc は、
! 39: 32bit版: スレッド形式が posix, 例外処理形式が DWARF-2
! 40: 64bit版: スレッド形式が posix, 例外処理形式が seh
! 41: に設定されてビルドされている。
! 42:
! 43: スレッド形式が posix だと、この gcc で作成する DLL は libgcc_s_*.dll を動的リンクする場合がある。
! 44: これを避けるには、使用する gcc を
! 45: 32bit版: スレッド形式が win32threads, 例外処理形式が DWARF-2
! 46: 64bit版: スレッド形式が win32threads, 例外処理形式が seh
! 47: にする必要がある。gcc をビルドし直すのは大変なので、mingw-w64 project で配布されているものを利用する。
! 48:
! 49: http://sourceforge.net/projects/mingw-w64/
! 50: の [Files] から以下をダウンロードする。
! 51: 32bit:
! 52: Toolchains targeting Win32 -> PersonalBuilds -> mingw-builds -> 5.2.0 -> threads-win32 -> dwarf -> i686-5.2.0-release-win32-dwarf-rt_v4-rev0.7z
! 53: 64bit:
! 54: Toolchains targeting Win64 -> PersonalBuilds -> mingw-builds -> 5.2.0 -> threads-win32 -> seh -> x86_64-5.2.0-release-win32-seh-rt_v4-rev0.7z
! 55:
! 56: これを解凍し、c:\msys64 以下にそれぞれ
! 57: c:\msys64\mingw32_w32threads
! 58: c:\msys64\mingw64_w32threads
! 59: として
! 60: c:\msys64\mingw32_w32threads\bin, c:\msys64\mingw32_w32threads\lib などとなるようにコピーする。
! 61:
! 62: c:\msys64 にある
! 63: mingw32_shell.bat (64bit版は mingw64_shell.bat) を
! 64: mingw32_w32threads_shell.bat (64bit版は mingw64_w32threads_shell.bat) という名前でコピーし、
! 65: その25行目を以下に変更
! 66: set MSYSTEM=MINGW32_W32 (64bit版は set MSYSTEM=MINGW64_W32)
! 67:
! 68: c:\msys64\etc\profile の45行目に以下を追加
! 69: MINGW32_W32)
! 70: MINGW_MOUNT_POINT=/mingw32_w32threads
! 71: PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}:${PATH}"
! 72: PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig"
! 73: ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal"
! 74: MANPATH="${MINGW_MOUNT_POINT}/share/man:${MANPATH}"
! 75: ;;
! 76: MINGW64_W32)
! 77: MINGW_MOUNT_POINT=/mingw64_w32threads
! 78: PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}:${PATH}"
! 79: PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig"
! 80: ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal"
! 81: MANPATH="${MINGW_MOUNT_POINT}/share/man:${MANPATH}"
! 82: ;;
! 83:
! 84: 最後に、Windowsのスタートメニューの[MSYS2 64bit]を右クリック→開く(Open)で
! 85: ファイルエクスプローラを起動し、ショートカットの
! 86: MinGW-w64 Win32 Shell (64bit版は MinGW-w64 Win64 Shell) を
! 87: MinGW-w64 Win32 Shell w32threads (64bit版は MinGW-w64 Win64 Shell w32threads)
! 88: という名前でコピーし、右クリック→プロパティから[ターゲット]を以下に変更
! 89: C:\Windows\System32\cmd.exe /A /Q /K C:\msys64\mingw32_w32threads_shell.bat
! 90: (64bit版は
! 91: C:\Windows\System32\cmd.exe /A /Q /K C:\msys64\mingw64_w32threads_shell.bat)
! 92:
! 93:
! 94: 以上の作業により、このショートカットから起動したターミナル内で win32threads 形式の gcc
! 95: が使用できるようになる。
! 96: つまり、MinGW-w64 Win32 Shell w32threads から起動したターミナルで使用する gcc は
! 97: 32bit版: スレッド形式が win32threads, 例外処理形式が DWARF-2
! 98: であり、MinGW-w64 Win64 Shell w32threads から起動したターミナルで使用する gcc は
! 99: 64bit版: スレッド形式が win32threads, 例外処理形式が seh
! 100: となる。
! 101:
! 102: 4. /usr以下に次のディレクトリを作成
1.1 fujimoto 103: cd /usr
104: mkdir local
105: mkdir local/bin
106: mkdir local/lib
107: mkdir local/include
108: mkdir local/share
109:
1.5 ! fujimoto 110: 5. gmp-5.1.3 のビルドとインストール
! 111: cd gmp-5.1.3
1.4 fujimoto 112: wget -O config.guess 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'
113: wget -O config.sub 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'
114: ./configure --disable-static --enable-shared
115: ※MinGW-w64 Win32 Shell (64bit Windowsでの32bit環境)において、mingw32 版のバイナリをビルドしたい時は、
116: ./configure ABI=32 --build=x86_64-w64-mingw32 --host=i686-w64-mingw32 --disable-static --enable-shared
117: make
118: make install
119:
1.5 ! fujimoto 120: 6. mpfr-3.1.3 のビルドとインストール
1.4 fujimoto 121: cd mpfr-3.1.3
122: wget -O config.guess 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'
123: wget -O config.sub 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'
1.5 ! fujimoto 124: ./configure --disable-static --enable-shared --with-gmp=/usr/local --disable-thread-safe
1.4 fujimoto 125: ※MinGW-w64 Win32 Shell (64bit Windowsでの32bit環境)において、mingw32 版のバイナリをビルドしたい時は、
1.5 ! fujimoto 126: ./configure ABI=32 --disable-static --enable-shared --with-gmp=/usr/local --disable-thread-safe
1.4 fujimoto 127: make
128: make install
129:
1.5 ! fujimoto 130: 7. mpc-1.0.3 のビルドとインストール
1.4 fujimoto 131: cd mpc-1.0.3
132: wget -O config.guess 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'
133: wget -O config.sub 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'
134: ./configure --disable-static --enable-shared --with-gmp=/usr/local --with-mpfr=/usr/local
135: ※MinGW-w64 Win32 Shell (64bit Windowsでの32bit環境)において、mingw32 版のバイナリをビルドしたい時は、
136: ./configure ABI=32 --disable-static --enable-shared --with-gmp=/usr/local --with-mpfr=/usr/local
1.1 fujimoto 137: make
138: make install
139:
1.5 ! fujimoto 140: 8. gc-7.4.2 のビルド
1.1 fujimoto 141: cd gc-7.4.2
142: wget http://www.hboehm.info/gc/gc_source/libatomic_ops-7.4.0.tar.gz
1.4 fujimoto 143: tar zxf libatomic_ops-7.4.0.tar.gz
1.1 fujimoto 144: mv libatomic_ops-7.4.0 libatomic_ops
1.4 fujimoto 145: ./configure
1.1 fujimoto 146: make
147:
1.5 ! fujimoto 148: 9. asir のビルドとインストール
1.4 fujimoto 149: cd asir2000
1.1 fujimoto 150: ./configure
151: make
152: make install
153: make install-lib
1.4 fujimoto 154:
155: TODO:
156: - ctrl+c での中断
157: - ox_launch_nox による ox サーバの起動と通信
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>