読者です 読者をやめる 読者になる 読者になる

na-kkun's life

Webディレクター兼テクニカルライターとして技術系記事を中心に企画・執筆活動をしています。たまに変なこと書きます。

MacでCOBOLの開発環境を構築する

COBOLを使うため、MacにOpenCobolを入れて開発環境を構築してみました。
OS:El Captian

El CapitanとOpenCOBOLは相性が悪いらしく、環境構築のみで一苦労。
以下の記事を参考にさせていただきました。
Mac(OS:El Capitan)でのCOBOL開発環境構築 - Qiita


◆/usr/localのパーミッションを変更

sudo chown $(whoami):admin /usr/local && sudo chown -R $(whoami):admin /usr/local


◆home-brewのインストール
Macではソフトウェアの導入を、簡単なコマンドで可能にするパッケージ管理システム『Homebrew』をインストールすると便利。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


◆OpenCOBOLのインストール

$ brew install open-cobol


◆hello.cobを作成

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
PROCEDURE DIVISION.
MAIN SECTION.
    DISPLAY 'HELLO WORLD!!'.
STOP RUN.


◆ファイルを指定してCOBOLを実行

$ cobc -x --free hello.cob

以下の致命的なエラーが発生。gmp.hが見つからない

In file included from /var/folders/5m/788ksz79713ckcbk2m9mzcyw0000gn/T//cob1969_0.c:13:
/usr/local/Cellar/open-cobol/1.1_1/include/libcob.h:24:10: fatal error: 'gmp.h' file not found
#include <gmp.h>


◆ライブラリが不足しているので以下を追加

brew install gmp
brew install gettext


◆gmp.hを関連づけるためにシンボリックリンクを作成する

ln -s /usr/local/Cellar/gmp/6.1.2/include/gmp.h /usr/local/Cellar/open-cobol/1.1_1/include


◆この状態で再度hello.cobを実行

$ cobc -x --free hello.cob

以下のエラー・・・
gmpのライブラリが見つからないから失敗とのこと

ld: library not found for -lgmp
clang: error: linker command failed with exit code 1 (use -v to see invocation)


◆コマンドツールをインストール

xcode-select --install


◆再度実行

$ cobc -x --free hello.cob
$ ./hello

ようやく“HELLO WORLD!!”が表示されました!

/* トップページ一覧表示 */