WSL2+Docker+VsCodeでWinows10にGnuCobol(Opencobol)のデバッグ環境を作ってみる!Vol.1

Cobolの仕事をするようになったけど、COBOLにはIDE(統合開発環境)がなく自宅で練習もできないので、困ってしまって模索の結果やっとたどり着けそうなので備忘録です!

システム要件

Winwos10で、GNUCOBLのデバッグ機能を使うには以下のシステム要件が必要です。

WSL2の前提条件を確認する

1.x64 システムの場合: バージョン 1903 以降 (ビルド 18362.1049 以降)。
2.ARM64 システムの場合: バージョン 2004 以降 (ビルド 19041 以降)。

参考サイト
https://learn.microsoft.com/ja-jp/windows/wsl/install-manual

Dockerの前提条件を確認する

・Windows 10 Pro/Enterprise 上の Docker Desktop 2.0 以降。
・Windows 10 Home (2004 以降) は、Docker Desktop 2.2 以降と WSL2 バックエンドが必要です。

参考サイト
Windows Home に Docker Desktop をインストール

Linuxインストール前の準備

WSL2の機能を使って、Windows上でLinuxをの実行環境を作ります。

・Windowsの「スタートボタン」→「Windows システム ツール」→「コントロールパネル」→「プログラム」→「Windowsの機能の有効化または無効化」と進み以下のように仮想マシンの機能を有効にした後画面の指示に従って再起動します。

WSL2用Linuxカーネルのインストール

1.ブラウザで「https://aka.ms/wsl2kernel」にアクセスして「x64マシン用WSL2 Linuxカーネル更新プログラムパッケージ」をクリックしてダウンロードします。

2.ダウンロードした更新プログラム「 wsl_update_x64.msi」をダブルクリックするとインストラーが起動するので「Next」→「Finish」と進むとインストールは終わります。

WSL 2 を既定のバージョンとして設定する

PowerShellから以下のコマンドを実行します。

wsl --set-default-version 2

Linux ディストリビューションをインストールする

1.Windowsの「スタートボタン」→「Microsoft Store」と進みMicrosoft Storeを表示します。

2.「Microsoft Store」の検索窓に「ubuntu」と入力し「インストール」をクリックするとブラウザ上でインストールが開始されます。
3.インストールが終わりましたら「開く」をクリックするとubuntuの画面が表示されます。
4.ubuntuにユーザー情報の登録をします。
・「Enter new UNIX username」→ 新しく設定するユーザー名を入力します
・「New password」      → パスワードを入力します
・「Retype new password」     → 同じパスワードをもう一度入力します

※入力したpasswordは画面に表示されませんので入力したら「エンター」キーを押します。

以下のように表示されていればOKなので「exit」と入力しエンターを押すとubuntuの画面は閉じます。

・passwd: password updated successfully
・Installation successful!
・Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.10.102.1-microsoft-standard-WSL2 x86_64)


これで、wsl2が使用できるようになりました。
さて、ここからが本題です!!


GNUCOBOLの設定とインストール準備

インストールされる方は「chocoコマンドでGnuCobolをインストール」から参考にしてください!

2023/8/20追記します。
次回の記事から参考にしてください。

GnuCobolのダウンロード

ブラウザでGnuCbolにアクセスして「Windows」をクリックします。

「gnucobol-3.2_win.7z」がダウンロードされますので、お好みの場所に解凍します。
私は、Cドライブ直下に「GnuCobol」というフォルダほ作り解凍。

※このパッケージにインストラーはありませんので、手動でインストールする必要があります。

configureの設定

ダウンロードしたファイルを参考に以下のように設定とインストールをします。

1.「configure」ファイル内
–exec-prefix=EPREFIXの[PREFIX]に絶対パスを指定する。
私はCドライブ直下の「GnuCobol」の中に解凍したので [PREFIX]に
C:\GnuCobol を指定し上書き保存

2.「./configure && make && make install」でインストール

参考サイト

configureオプションが知りたい〜バイナリのインストール先を知る〜

make installをwindosで実行

make installをwindowsに実行するにあたり以下のサイトを参考にさせていただきました。
ありがとうございました。

参考サイト

Windows10環境でmakeコマンドを使用する方法【ハマリ回避】

上記サイトを参考にするので、詳細な説明は割愛します。
1.Make for Windowsをダウンロード
ダウンロードされたファイル名→「make-3.81.exe」
2.インストール先をCドライブ直下に変更してインストール
3.make コマンドを実行できるように「パス」を通す
4.vacodeでMekefile Tools の拡張

GNUCOBOLのインストール

コマンドプロンプトとPowerShellからではコマンドが認識されないので「Git Bash」で実行

1.Git BashからGnuCobolのフォルダに移動

cd C:\GnuCobol

2.以下のコマンドでインストール

 ./configure && make && make install

以下のように「checking for gcc… no」とエラー表示されているので、Cのコンパイラを入れてみる

gccのインストール

1.以下のサイトから「x86_64-13.1.0-release-win32-seh-ucrt-rt_v11-rev1.7z」をダウンロードする
https://github.com/niXman/mingw-builds-binaries/releases

2.Cドライブ直下に「MinGW-w64」フォルダを作成し展開する

3.環境変数の設定「C:\MinGW-w64」にbinフォルダを配置したので「C:\MinGW-w64\bin」と設定

4.コマンドプロンプトを開き「gcc -v」と入力以下のように「bcc version13.1.0」と表示されているのでOKのはず・・

5.再度「./configure && make && make install」をしてみましたが・・
結果は変わらずで、Cのコンパイラが認識されていないようです。

GUNCOBOLは、C言語のソースへ変換して、C言語のソースをGCC(GnuのCコンパイラ)でコンパイルし実行可能プログラムを生成していますので、必要だったのですが・・

再度別のキーワードで調べてみるとどうやら、Windowsもインストールコマンドがあることを知りました。
Linux(ubuntu)では「sudo apt-get install gnucobol」でインストールできたので、Windowsでもあるのでは?と探してみましたが当初は見つけることができませんでしたが、探すキーワードが変わったことでやっと見つけることができました!
長~い道のりでした!

参考サイト
https://stackoverflow.com/questions/45281932/installing-gnucobol-on-windows10

chocoコマンドでGnuCobolをインストール

PowerShellに管理者権限で入って以下のコマンドでインストールします。

choco install gnucobol

途中 Do you want to run the script?([Y]es/[A]ll – yes to all/[N]o/[P]rint): と表示されるので  y エンター

 ShimGen has successfully created a shim for cobcrun.exe と表示されているのでインストール完了です。

なんと・・アッ!という間に終わってしまいましたね!

これまでのまとめ

今回の記事の前に試したみたことを下表に残します。

1.結論からいうとVMwre(仮想環境内)にubuntuをインストールして更にDockerのインストールはやはり無理?
正確にはVMwer社もまだお試し段階のようでしたので、今回は諦めました。

VMware WSL2
ubuntu
Docker 〇のはず

2023/8/20追記します。
2.Windows環境でコンパイルする場合、makeファイルの変換エラーがでてデバックできなかったので、回避策を思案中!

3.wslを利用してubuntuのインストールは可能でしたが、WSLではsystemdがPID1で動いていないためこれらをカバーする回避策も必要。

次回はVScodeで拡張機能をインストールし設定もしていきます。

にほんブログ村 IT技術ブログ IT技術メモへ

スポンサーリンク
スポンサーリンク
SNSフォローボタン

フォローする

シェアする

  • このエントリーをはてなブックマークに追加
スポンサーリンク
スポンサーリンク