OpenCOBOL インストール

ライン
  ここではWindows環境の下で、MinGW と MSYSを使用した開発環境を構築した後、Open COBOLをインストールする方法を説明しております。
1章で「動作環境の構築」を、2章で「OpenCOBOL MinGW Binary のインストール」を、3章で「OpenCOBOL SOURCE のインストール」を、それぞれ、説明しております。
なお、「OpenCOBOL MinGW Binary のインストール」は、短い時間で、効率的にインストールする方法であり、PEGさんが作成したWindows Binaryをダウンロードして使用します。
効率的にインストールすることができ、これだけで、簡単なCOBOLプログラムを作成することが可能になります。


一方、「OpenCOBOL SOURCE のインストール」は、オプション機能を使用してCOBOLプログラムを作成する方向けの方法です。

(用語説明)
MinGW (Minimalist GNU for Windows )とは、GNU GCC 及び binutils プロジェクトに基づいたコンパイラシステムを構築するのに使用されるランタイムヘッダ群です。
MSYS(Minimal SYStem)とは、MinGW環境でコンパイル処理を行うのに必要な最低限の命令語を備えた、UNIX動作環境です。

1章. 動作環境の構築

【STEP1.1】 MinGWのインストール (必須)

(1) MinGWのダウンロード      http://mingw.org (2006年8月現在)
  (a) MinGWのホームページ画面の右上にある Proposed : MinGW 5.0.2 installerを
      クリックして次画面を呼び出す。
  (b) 次画面にあるhttp://prdownloads.sf.net/mingw/MinGW-5.0.2.exe?downloadを
      クリックしてMinGW-5.0.2.exeをダウンロード。

(2) MinGWのインストール
    MinGW.exe を実行
  (a)バックグランドで動いているアプリケーションがないことを確認後、"Next"をクリック
  (b)License同意条項ですので、読んだら"Yes"をクリック
  (c) MinGW 関連の説明が書かれていますので、読んだら"Next"
  (d)インストール先を選択 c:mingw  
  (e)ソフトウェアのショートカットをスタートメニューに登録するか否かの問合せ
      不要なら、"Don't create any icons"にマーク。
  (f)インストールした構成を確認後、「Next」 をクリック
  (g)インストールが始まり,終わるのを待ってNextをクリック
  (h)"Finish"をクリック


【STEP1.2】 MSYSのインストール (必須)

(1) MSYSのダウンロード      http://mingw.org (2006年8月現在)
  (a) MinGWのホームページの左端にあるMSYSをクリックして次画面を呼び出す。
  (b) 次画面の 「MinGW - Minimal SYStem MSYS was created out of a long-lived desire to provide the MinGW community a Minimal SYStem, with which a configure script could be executed. This is finally available from the MinGW download area on SourceForge.」文中のMinGW download areaをクリックして次画面を呼び出す。
  (c) 次画面のSnapshotにあるMSYS-1.0.11-2004.04.30-1.exeをダウンロード。

(2) MSYSのインストール     MSYS.exeを実行
  (a)バックグランドで動いているアプリケーションがないことを確認後、"Next"をクリック
  (b)License同意条項ですので、読んだら"Yes"をクリック
  (c) MSYS 関係の説明が書かれていますので、読んだら"Next"
  (d)インストール先を選択 c:\msys   
  (e) コンポーネントを選択する場合には、選定後、「Next」 をクリック
  (f) ソフトウェアのショートカットをスタートメニューに登録するか否かの問合せ。
      不要なら、"Don'j create any icons"にマーク。
  (g)インストールした構成を確認後、「Next」 をクリック
  (h)インストールが始まりますが、途中で、"Do you wish to continue with the post install? 「yn」 "
      という質問メッセージが出ますが、これはインストレーション処理の後処理を実行するか
      否かの質問ですので、”y”と応答。
  (i)(次に、"Do you have MinGW installed? 「yn 」 "という質問メッセージが出ますが、
      既にインストール済ですので、”y”と応答。
  (j)次に、"Where is your MinGW installation? "という質問メッセージが出るので、
      " c:/mingw」 "と応答。
  (k)"Finish"をクリック

(3) 環境変数の設定
マイコンピュータ → システム → システムのプロパティ → 詳細 → 環境変数をクリック
  (a) ユ−ザ環境変数(U)のPathにhomeを設定。 Home c:\msys\1.0\home
  (b) システム環境変数(S)のPathにMinGWをインストールしたディリクトリを追加。
       Path c:\mingw\bin; c:\msys\1.0\bin;

  ご参考 :       (画面つきの分かりやすい説明が魅力)
      http://www2.atwiki.jp/ccw/pages/5.html (2006年8月現在)

補足説明1 :
MSYSパス変換方式では、msys.dllを置いたディレクトリが /bin となり、その一つ上のディレクトリが / となります。そして、/bin は /usr/bin でもあり、/ は /usr でもあります。

補足説明2 :
MSYSはPosixに準拠してユーザ毎にディレクトリを表示している。このため、Windows上での実際のツリー構造の間にユーザIDを挿入し、あたかもユーザIDの下でディレクトリ管理を行なっているかのように扱っております。このため、少し分かりにくい点があります。

【STEP1.3】 MSYS DTKSのインストール

2章で説明するCOBOL BINARYインストールの場合はオプションですが、3章で説明するCOBOL SOURCEインストールの場合は必須です。

(1) MSYS DTKSのダウンロード
      http://prdownloads.sourceforge.net/mingw/msysDTK-1.0.0.exe?download (2006年8月現在)
   msysのインストールフォルダに格納します。

(2)MSYS DTKSのインストール  msysDTK-1.0.0.exeを実行。
   (a)バックグランドで動いているアプリケーションがないことを確認後、"Next"をクリック
   (b)License同意条項ですので、読んだら"Yes"をクリック
   (c)インストール先を選択 c:/msys
   (d) コンポーネントを選択する場合には、選定後、「Next」 をクリック
   (e) MSYS DTKのreadmeが表示されるので、読んだら、「Next」 をクリック

【STEP1.4】 SDL 1.2のインストール (オプション)

(1) SDL 1.2のダウンロード       http://www.libsdl.org/index.php (2006年8月現在)
 mingwのインストールフォルダに格納します。

(2) SDL 1.2のインストール
   (a) gunzip SDL-1.2.9.tar.gz
   (b) tar xvf SDL-1.2.9.tar
   (c) cd SDL-1.2.9 ( cd into the SDL-1.2.9 directory)
   (d)  . /configure --prefix=/usr/local
   (e) make (make from the SDL-1.2.9 directory to build the object code)
   (f) make install (make install from the SDL-1.2.9 directory to install SDL-1.2.9)
  (g) SDL の動作確認(テストプログラムのコンパイルと実行)
  SDL のソースコードを展開したディレクトリ中の test というディレクトリに SDL のテストプログラムが用意されています.これを使って SDL が正常に動作するかどうかテスト。

$ cd SDL-1.X.X
$ cd test
$ ./configure
$ make

できあがった実行ファイル(testwin.exeなど) を実行して動作すれば OK です。

2章. OpenCOBOL MinGW Binary のインストール

【STEP2.1】 前提ソフトのインストール (必須)

(1) 以下のファイルを http://prdownloads.sourceforge.net/mingw/ (2006年8月現在)
   よりダウンロードし、 MinGW インストールフォルダにインストールします。
   (a) gettext-0.11.5-2003.02.01-1.exe
   (b) libiconv-1.8.0-2003.02.01-1.exe
   (c) pdcurses-2.6.0-2003.07.21-1.exe

(2)以下のファイルを http://members8.tsukaeru.net/pegstyle/download.html (2006年8月現在)
   よりダウンロードし、 MinGW インストールフォルダに格納して解凍します。
   (a) db-4.3.28-1.zip
   (b) gmp-4.1.4-1.zip
   (c) libtool-1.5.18-1.zip
   (d) onigd20050714-1.zip

<補足説明>
db-4.3.28-1.zip等の圧縮ファイルは、「解凍時にディレクトリ名を有効にする」、「マルチボリュームの解凍」にチェックマークを付けて解凍します。
例えば、 default.conf は share/open-cobol/config/ のようにパス情報を有しているため、単純に解凍するだけでは十分ではなく、解凍時に「ディレクトリ付解凍」する必要があります。
ディレクトリ付で解凍する/しないの設定やマルチボリュームの設定は、解凍ソフトのどこかにありますので確認して下さい。
(設定が分からない場合は Lhasa とか Lhaplus とかの解凍ツールを使えば ディレクトリ付で解凍可です)

【STEP2.2】OpenCOBOL のインストール (必須)

(1) OpenCOBOL Binaryのダウンロード
OpenCOBOL Binaryを、http://members8.tsukaeru.net/pegstyle/download.html (2006年8月現在)
   からダウンロードし、mingw のインストールフォルダに格納して解凍します。
   (a) open-cobol-0.31-1.zip

(2) OpenCOBOL Binaryのインストール
手順は、OpenCOBOL Binaryを提供している PEG さんのホームページを参照ください。
インストール手順が、画面サンプルとともに、詳細に説明してあり、参考になります。

http://www12.ocn.ne.jp/~peg/open-cobol/mingw.html (2006年8月現在)

ここに改めて、OpenCOBOL Binaryを提供している PEG さんに感謝致します。

(3) 動作確認
DOS窓を起動して、「cobc -version」と入力して、「cobc (OpenCOBOL) 0.31 Copyright (C) 2001-2004 Keisuke Nishida」とバージョンが表示されれば正常にインストールされています。

場合によっては、解凍処理がうまくいっておらず、c:/mingw/bin/にcobc.exe、cob-config、cobcrun.exe、libcob-1.dllが格納されていないことがあります。
その時には、cobc.exe、cob-config、cobcrun.exe、libcob-1.dllを、open-cobol-0.31-1からc:/mingw/bin/にコピーしてください。

(4) COBOLソースプログラム・コンパイル時に発生したエラーと対応方法
  (a) default.conf : No such file or directory 
ディレクトリ付でdb-4.3.28-1.zipを解凍した後、cobc sample01.cobを実行したところ、c:\mingw\share\open-cobol\config/default.conf : No such file or directoryと表示されました。
そこで、いったん、「ファイル名のフォルダを作って解凍する」を指定してdb-4.3.28-1.zipを解凍して\share\open-cobol\configを作成し、作成したopen-cobol-0.31-1よりdefault.confをc\mingw\share\open-cobol\configにコピーして、この問題を解決。

(5) OpenCOBOL MinGW Binary アンインストール方法
mingw/uninstall フォルダに作成されているアンインストールバッチを実行。

   (a) db-4.3.28-1.bat
   (b) gmp-4.1.4-1.bat
   (c) libtool-1.5.18-1.bat
   (d) onigd20050714-1.bat
   (e) open-cobol-0.32-1.bat

【STEP2.3】コンパイルと実行方法

(1) Windows環境下でのコンパイルと実行方法
  (a)ソースプログラム用に任意のフォルダを作成。
  (b) 「メモ帳」で hello を作成する。(ソースプログラム作成)
       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELLO.
       PROCEDURE DIVISION.
       DISPLAY “HELLO, WORLD!”
       STOP RUN.
  (c) 作成した hello.txt を作成したフォルダに格納する。
  (d) MSYSを起動する。
  (e) 作成したフォルダへと移動する。(cd to the folder containing hello.cob)
  (f) hello.txt をhello.cobに変更する。(mv hello.txt hello.cob)
  (g) cobc hello.cob (コンパイル)
  (h) hello (hello の実行)
もし、“HELLO, WORLD!”と表示されれば成功です。

もちろん、vi で hello.cob を作成しても結構です。

(2) コンパイル用のツール
http://park3.wakwak.com/~minen/cobol/mingw/use_info.htm (2006年8月現在)
コンパイル用のツールをダウンロードし、「cobol_tool」フォルダの中身(フォルダではなく)をCOBOLプログラムのソースコードのあるフォルダに格納します

   (a)compile.txt コンパイルマクロのソースコード
   (b)compile.bat   コンパイルマクロ
   (c)print.c      ソースコードプリントプログラムのソースコード
   (d)print.exe    ソースコードプリントプログラム
   (e)sample01.cob   サンプル

「print.exe 」は、OpenCOBOLのコンパイル・エラーが出た場合において、問題のあるステートメントの前後の数行を画面表示するプログラムです。
COBOLアプリケーションプログラムの開発に際して、とても重宝します。

以上で、簡単なCOBOLプログラムを開発する環境が構築できます。
以下は、種々のオプション機能を使用する場合において、SOURCE から OpenCOBOL をインストールする方法です。

3章. OpenCOBOL SOURCE のインストール (失敗事例)


   2006年7月に NcursesとOpenCOBOLのソースをダウンロードし、Msys環境下でMAKEしようとしたのですが実行できませんでした。
一方、後述するようにMsys環境下でも、GNU MP やGNU LibtoolのMAKEはできました。
その後、2007年2月になって、PostgresSQLのインストールに取り組んでいた時、ようやく、その理由らしき説明を発見しました。
PostgresSQLのFAQ.MINGWに記載されていた「・・・、何故なら、Msysコンソールはバッファリング問題を抱えているからである (・・・・, as the Msys console has buffering isssues.)」という説明です。
以下では、失敗事例として、MsysでのMAKE処理の実行プロセスを詳述しております。

(1) OpenCOBOLの前提ソフト
 

   (a) autoheader
   (b) Autoconf 2.59 (MSYS DTKに含む)    必須
   (c) Automake 1.8  (MSYS DTKに含む)    必須
   (d)Libtool 1.5.2   (MSYS DTKに含む)   必須
   (e)Gettext 0.14.1 必須  http://gnuwin32.sourceforge.net/packages/gettext.htm   
   (f)Bison 1.85 必須  http://gnuwin32.sourceforge.net/packages/bison.htm
   (g)Flex 2.5.4 必須  http://gnuwin32.sourceforge.net/packages/flex.htm

ご参考 (e)から(g) のホームページ http://gnuwin32.sourceforge.net/

(2)OpenCOBOL が必要とする外部ライブラリのダウンロードとインストール
  詳細は http://www.opencobol.org/ のインストールガイドを参照 

   (a) GNU MP 4.2.1 以降のバージョン   必須
http://swox.com/gmp/
c:\mingwのインストールフォルダに格納します。
   ・ gunzip gmp-4.1.4.tar.gz
   ・ tar xvf gmp-4.1.4.tar
   ・ cd gmp-4.1.4 (cd into the gmp-4.1.4 directory)
   ・ ./configure --prefix=/mingw
   ・ make (make from the gmp-4.1.4 directory to build the object code)
   ・ make install (make install from the gmp-4.1.4 directory to install gmp-4.1.4)

  (b) GNU Libtool (libltdl)    必須 
    http://www.gnu.org/software/libtool/libtool.html
c:\mingwのインストールフォルダに格納します。
   ・gunzip libtool-1.5.22.tar.tz
   ・tar xvf libtool-1.5.22.tar
   ・cd libtool-1.5.22 (cd into the libtool-1.5.22 directory)
   ・ ./configure --prefix=/mingw
   ・ make (make from the libtool-1.5.22 directory to build the object code)
   ・ make install (make install from the libtool-1.5.22 directory to install libtool-1.5.22)

   (c) Berkeley DB (libdb) 1.85以降のバージョン  オプション
  http://www.sleepycat.com/
インデックス付ファイルの入出力とソート・マージ機能を使用する場合のオプション機能。
c:\mingwのインストールフォルダに格納します。
   ・ gunzip db-4.4.20.NC.tar.gz
   ・ tar xvf db-4.4.20.NC.tar
   ・ cd db-4.4.20.NC (cd into the db-4.4.20.NC directory)
   ・ cd build_unix
   ・ ../dist/configure --enable-compat185 --enable-cxx
               --enable-dump185 --enable-mingw --prefix /mingw
   ・ make (make from the db.1.85 directory to build the object code)  実行できず
   ・ make install (make install from the db.1.85 directory to install db.1.85) 実行できず

最終的には、msi Windows installerをダウンロードして、db-4.4.20のインストールを完了。

注釈
Building for UNIX/POSIX
The Berkeley DB distribution uses the Free Software Foundation's autoconf and libtool tools to build on UNIX platforms. In general, the standard configuration and installation options for these tools apply to the Berkeley DB distribution. To do a standard UNIX build of Berkeley DB, change to the build_unix directory and then enter the following two commands:

     ../dist/configure --prefix=/mingw
     make
This will build the Berkeley DB library.
To install the Berkeley DB library, enter the following command:
make install

   (d) Ncurses (libncurses) 5.5  オプション 
http://ftp.gnu.org/pub/gnu/ncurses/
スクリーンセクションを使用する場合のオプション機能。
c:\mingwのインストールフォルダに格納します。
   ・ gunzip ncurses-5.5.tar.gz
   ・ tar xvf ncurses-5.5.tar
   ・ cd ncurses-5.5 (cd into the ncurses-5.5 directory)
   ・ ./configure --prefix=/mingw    
   ・ make (make from the ncurses-5.5 directory to build the object code) 実行できず
   ・ make install (make install from the ncurses-5.5 directory to install ncurses-5.5) 実行できず

  (3) OpenCOBOLのダウンロードとインストール    (必須)
 http://www.opencobol.org/
c:\mingwのインストールフォルダに格納します。
   ・ gunzip open-cobol-0.32.tar.gz
   ・ tar xvf open-cobol-0.32.tar
   ・ cd into the open-cobol-0.32 directory
   ・ ./configure --prefix=/usr/local ( エラーgmp.h is required!) 実行できず
  →  ../dist/configureか。
オプション --with-cc= specify C compiler command used by cobc
                     --with-db1 use Berkeley DB 1.85 (libdb-1.85)
                      --with-lfs64 use large file system for file I/O
   ・ make (make from the open-cobol-0.32 directory to build the object code) 実行できず
   ・ make install (make install from the open-cobol-0.32 directory to install open-cobol-0.32 ) 実行できず
ライン


このホームページにおけるCOBOL関連の修正履歴は以下のとおりです。
・2007年 02月18日:  Msys環境下でのMake処理失敗原因。
・2006年 10月15日:  COBOLインストール方法を修正。
・2006年 8月20日:  COBOLインストール方法を追加。
・2006年 8月14日:  COBOLプログラムを追加。

ライン