作ってみたものの話。

気になって作ってみたものの記録。

COBOLの話。

一緒に仕事をしてる方が次の仕事がCOBOLらしく
COBOLCOBOL言ってるんでちょっと調べてみた。

とりあえずどうしたらハローワールドできるかあたりまで。

環境はWindowsで。
適当にコンパイルできるんかなとか思ったら
そんなこともなくなんか大変そう(゚Д゚)

そもそもLinuxろくに使ったこともないから
よくわからず・・・。


以下サイトを参考に試すも
opensource COBOLのmakeでコンパイルエラー出るんだけど。。。
https://kunst1080.hatenablog.com/entry/2015/05/07/235848
Cygwinも試したけど途中で挫折。


ということでVMWAREでCentOS8入れました。
VMware Workstation Player のダウンロード | VMware | JP

以下サイトを参考に入れました。
CentOS8をVMwareWorkstationにインストール - Qiita


日本語に設定したら、日本語入力できないと困ったので
以下サイトを参考に日本語入力(かな・漢字)を入れる。
CentOS8での日本語入力 | コリオのブログ


とりあえず以下書いてSAMPLE-01.cobで保存。
書き方とかは検索。

       IDENTIFICATION DIVISION.
       PROGRAM-ID. SAMPLE-01.
      *
       ENVIRONMENT DIVISION.
      *
       DATA DIVISION.
      *
       PROCEDURE DIVISION.
       MAIN.
       DISPLAY "Hello World!" UPON CONSOLE.
       STOP RUN.

保存した場所に移動して
「cobc -x SAMPLE-01.cob」すると
なんでか1回目は定義ないよエラー出たけど
実行ファイルは出来てた。なんで?

とりあえず「./SAMPLE-01」で実行すると
「./SAMPLE-01: error while loading shared libraries: libcob.so.4: cannot open shared object file: No such file or directory」

キェェェェ(# ゚Д゚)
パスが通ってない様子。
「/usr/local/lib」の中に「libcob.so.4」はあった。

他にリンク通ってないのがないか一応調べる。
「ldd ./SAMPLE-01」

とりあえず「libcob.so.4」だけみたいなので 
「export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH」変数設定する。

後で旦那に聞いたら自分しか使わないなら
起動すると消えちゃうからroot直下の.bash_profileに書いとけばいいんじゃないって言われた。
本来ならユーザごとにあるからそっちに書くらしい。

rootいって「ls -la」で一覧見れる。
とりあえずviで開く。「vi .bash_profile 」

viの使い方は検索する。

「PATH=$PATH:$HOME/bin」とか書かれてる下に
「export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH」って
書いておけば起動時に読み込まれるからOKぽい。


脱線したけどとりあえずリンク通ったか確認。
「ldd ./SAMPLE-01」

無事リンク通ってるのが確認できたので実行。

ヾ(*´∀`*)ノ ヾ(*´∀`*)ノ ヾ(*´∀`*)ノ