ちょっと事情により、久しぶりに(20数年ぶりだ!!)COBOL のソースを触らないといけないかもしれないので、Windows 7 Professional 64bit に GnuCOBOL(OpenCOBOL)を入れてみることに。
取り敢えず、GnuCOBOL インストールのために必要な、MinGW(Minimalist GNU for Windows)をインストールする。
- http://sourceforge.net/projects/mingw/files/ から mingw-get-setup.exe (86.5 kB) をダウンロード。
- C:\usr\local\MinGW ディレクトリを予め作っておく。
- mingw-get-setup.exe を実行。
- 「Install」ボタン押下。
- Installation Directory に「C:\usr\local\MinGW」を指定。(俺、Program Files に入らないプログラムは \usr\local の下に固めてるんで)
- User Interface Options はそのまんまでええやろ。
- 「Continue」ボタン押下。インストールマネージャのインストール開始。
- 「Continue」ボタン押下。
- MinGW Installation Manager の GUI 画面が開くので、インストールパッケージの選択。
うーむ、FORTRAN とか Ada は取り敢えず要らないんで外しておくか。
ボーイング777や、F-22戦闘機の制御ソフトウェアは Ada で書かれているそうだけど、そんな仕事を受けることは無いので(笑)
mingw-developer-toolkit
mingwe32-base
minigw32-gcc-g++
minigw32-gcc-objc
辺りを入れておけば良いか?(Objective-C も使わんといえば使わんけど(笑))
(ちなみに、mingw-developer-toolkit にチェックしたら、msys-base も自動的にチェックされる。MSYS(Minimal System) は、Windows上で動作する Unix shell(Bash らしい)諸々のユーティリティの統合パッケージであります)
- チェックをしたら、「Installation」→「Apply Changes」を選択。確認画面が開く。
- 「Apply」ボタン押下。(インストールには、ネット環境にもよるが数分かかる)
- 「All Changes were applied successfully」と表示されたら「Close」ボタン押下。
これで上記で選択したプログラムは全部入った。
ここから OpenCOBOL を追加インストールする。
まずは、MSYS 上から以下のコマンドを叩いて、MinGW を最新版にアップデート。
C:\usr\local\MinGW\msys\1.0\msys.bat を実行。
で、コマンドを叩いてみると、
$ mingw-get update
sh: mingw-get: command not found
ありり?
$ echo $PATH
.:/usr/local/bin:/mingw/bin:/bin:/c/Program Files/Trend Micro/AMSP/:/c/ProgramDa
ta/Oracle/Java/javapath:/c/Program Files/Common Files/Microsoft Shared/Windows L
ive:/c/Program Files (x86)/Common Files/Microsoft Shared/Windows Live:/c/Ruby200
-x64/bin:/c/Program Files (x86)/Intel/iCLS Client/:/c/Program Files/Intel/iCLS C
lient/:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System
32/WindowsPowerShell/v1.0/:/c/Program Files (x86)/Intel/OpenCL SDK/3.0/bin/x86:/
c/Program Files (x86)/Intel/OpenCL SDK/3.0/bin/x64:/c/Program Files/Intel/Intel(
R) Management Engine Components/DAL:/c/Program Files/Intel/Intel(R) Management E
ngine Components/IPT:/c/Program Files (x86)/Intel/Intel(R) Management Engine Com
ponents/DAL:/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/I
PT:/c/Program Files (x86)/Windows Live/Shared:/c/Program Files/Microsoft SQL Ser
ver/Client SDK/ODBC/110/Tools/Binn/:/c/Program Files (x86)/Microsoft SQL Server/
120/Tools/Binn/:/c/Program Files/Microsoft SQL Server/120/Tools/Binn/:/c/Program
Files/Microsoft SQL Server/120/DTS/Binn/:/c/Program Files (x86)/Microsoft SQL S
erver/120/Tools/Binn/ManagementStudio/:/c/Program Files (x86)/Microsoft SQL Serv
er/120/DTS/Binn/:/c/Program Files/Microsoft SQL Server/110/Tools/Binn/:/c/Progra
m Files (x86)/Microsoft SDKs/TypeScript/1.0/:/c/Program Files/Microsoft/Web Plat
form Installer/:/c/Program Files (x86)/QuickTime/QTSystem/:/c/Program Files (x86
)/Skype/Phone/:/c/Program Files (x86)/Common Files/Adobe/AGL:/c/Program Files/Ja
va/jdk1.8.0_05/bin
あらら。mingw-get が置いてある、
C:\usr\local\MinGW\bin
へのパスが通って無いんやねえ。
.bachrc に書いてもいいんだけど、全ユーザにかかるところだから、
C:\usr\local\MinGW\msys\1.0\etc\profile
に書いといた方がいいだろうな。
18行目からを、
if [ $MSYSTEM == MINGW32 ]; then
export PATH=".:/usr/local/bin:/mingw/bin:/bin:/c/usr/local/MinGW/bin:$PATH"
else
export PATH=".:/usr/local/bin:/bin:/mingw/bin:/c/usr/local/MinGW/bin:$PATH"
fi
こんな感じで。
$ mingw-get update
Updating catalogue: package-list.xml; (item 1 of 1)
Checking catalogue: mingw32-package-list.xml; (item 2 of 4)
Checking catalogue: mingw32-autoconf.xml; (item 3 of 37)
<略>
Checking catalogue: msys-base.xml; (item 109 of 111)
Checking catalogue: mingw-developer-toolkit.xml; (item 110 of 111)
Checking catalogue: msys-system-builder.xml; (item 111 of 111)
今度はうまくいった。
続けて、下記コマンド実行。
mingw-get upgrade
mingw-get install mingw32-libpdcurses
mingw-get install mingw32-gmp
mingw-get install mingw32-pdcurses
mingw-get install msys-mintty
ここまでしたら、今入れた mintty を実行して新しいシェル画面を開いた方が操作が楽。
mintty 使わないと、コピー&ペーストもコマンドプロンプトみたいに左上のアイコンの「編集」メニューを使わないといけないので超面倒。
mintty なら、右ボタンメニューからコピー&ペースト等が出来ます。
で、いよいよ OpenCOBOL をインストール。
ここから、
gnu-cobol-2.0_nightly_r697_only_for_testing_purposes_win32_and_x64_vc11_bin.7z
をダウンロードし、7-Zip などを使い解凍/展開。
それを、C:\usr\local\MinGW の下に全部コピー。
C:\usr\local\MinGW\include\gmp.h だけ上書きされた。
で、コマンドラインから COBOL コンパイラを実行してみる。
$ cobc -v
Loading standard configuration file 'default.conf'
Configuration Error
C:\GnuCobol\config\default.conf: No such file or directory
ほう。コンフィグファイルのパスが違うようだ。
$ export COB_CONFIG_DIR=/c/usr/local/MinGW/config
して、ついでに同じ記述を .bashcr にも書いとく。
で、再度実行。
$ cobc -v
Loading standard configuration file 'default.conf'
cobc: Error: No input files
ありゃ?input files を求めてるってことは、-v でバージョン表示じゃないんか?(追記:大文字 V がバージョン表示だった)
$ cobc --version
cobc (GnuCOBOL) 2.0.20151025
Copyright (C) 2001-2015 Free Software Foundation, Inc.
Written by Keisuke Nishida, Roger While, Ron Norman, Simon Sobisch
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Built Dec 29 2015 00:01:32
Packaged Oct 25 2015 21:40:28 UTC
C version (Microsoft) 1700
おお!ちゃんとバージョン表示された。動いてはいるようだな。