2025-05-10

外部環境で作成したコマプロをOpenVMSで動かす

Windows10上でsimh V3.8-1のVAX.EXEを用いて、OpenVMS VAX V7.2を動かしています。OpenVMS側で全て作業すれば問題ないはずですが、外部環境(Windows側とか、WSL環境とか)で作成したファイルをOpenVMS側に持ち込んで何かしようとすると、ひと手間かける必要があります。何をすれば良いのか分かってしまえば簡単なことなのですが、そこに至るまでは試行錯誤の連続でした。

 

ひとつの例として、外部環境で作成したOpenVMS用のコマンドプロシージャ(通称:コマプロ)をOpenVMSが動かすことを考えます。例えばFreeBSD環境で作成したコマプロがあるとしましょう。これをOpenVMS側に持ち込むには、いろいろな方法があるとは思いますが、ISOファイルを経由させます。FreeBSD側ではmkisofsを使ってISOファイルを作ります。これをsimhでデバイスにattachしておけば、OpenVMS側でマウントできます。ここで問題になるのは、ISOイメージの中にあるコマプロを直接実行しようとしてもエラーになることです。 


FreeBSDで作成したファイルなので、当然ながら、行末がLFになっています。このようなファイルをOpenVMSでは認識できないので、dir/fullで見ると「Record format:      Undefined, maximum 0 bytes, longest 0 bytes」となっています。そこで以下のコマンドで変換すればよいようです。

set file/attr=(RFM:STMLF) sample.com

 

 これを行えば、dir/fullで「Record format:      Stream_LF, maximum 0 bytes, longest 0 bytes」となるので、コマプロとして実行してもエラーになりません。

 

分かってしまえば簡単なことでしたが、ここに至るまでは苦労しました。Webで情報を検索しても、OpenVMSを利用している人が少ないためか、参考となる事例が見つかりませんでした。漠然としたアイディアとしては、FDLとかconvertなどを使うのではないかと考えたりして、かなり迷宮をさまよいました。最終的にGeminiにお伺いをたてたところ、ヒントが得られました。しかしGeminiの回答は、おそらくChatGPTもそうでしょうが、ハルシネーションのせいなのか、かなりもっともらしいものの微妙に誤りを内在しているものでした。役には立つのですが、盲目的な信頼をおくのは考えものかと思います。

 

0 件のコメント:

コメントを投稿