それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

CygwinでCOBOLを実行する

Gnu COBOL なるものが増えていたので、Cygwinでも動かしてみよう。

cygwin のインストール

cygwin のインストールは次を参照 ⇛ WindowsにCygwinをインストールし、初期設定する。 - それマグで!

cygwin にビルド環境を作る

cygwin (x86)にビルド環境を作ったときのログを参照 ⇛ Cygwinにビルド環境を作る - それマグで!

Gnu Cobol を取得してコンパイルする

取得

wget -O gnu-cbl.tgz http://sourceforge.net/projects/open-cobol/files/latest/download?source=files

展開

tar zxvf  gnu-cbl.tgz

依存モジュールの追加

いろいろ依存パッケージがある。

nucursesやBerkleyDB など

apt-cyg install  libdb4.8-devel
apt-cyg install  db4.8

gmp

apt-cyg install gmp
apt-cyg install  libgmp-devel

コンパイルなのでヘッダファイルを含む パッケージ名-devel をインストール

コンパイル

cd gnu-cobol-1.1
./configure
make 
make check && make install

make check は長いので省略可

Hello world

じゃぁHello Worldをやってみる

echo - >  ~/hello.cob

123456*8901234567890123456789012345678901234567890
       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     HELLO.
       PROCEDURE       DIVISION.
           DISPLAY "Hello World!".
           STOP   RUN.
^D

コンパイルして実行

cobc -x  ~/hello.cob
~/hello.exe

これでHello Worldは通る

注意

このコンパイル方法は、COBOLの勉強用にとりあえずコンパイルできたら良い。その程度の用途で調べたものです。Cygwin dll に依存した gcc を使ってるはずなので、COBLE単体で動かすためにはcygwin.dll 依存のない、mingw-gcc のほうでコンパイルした方がいいはずです。

mingw-gcc は cygwn のインストーラーで、インストールします。alias gcc=mingw-gccXXXXX とすれば大丈夫です。