富士通

NetCOBOL 技術情報:トラブルシューティング

エラー

Solaris

NetCOBOL

Q

64bitOS上で、Solaris版 NetCOBOLとPro*COBOLの組合せで、アプリケーション作成時に「ELF クラスが正しくありません: ELFCLASS64」のリンクエラーが発生します。
または、作成したアプリケーションを起動すると、「バスエラー - コアダンプしました。」のエラーメッセージが出力され、Oracleへの接続時に異常終了します。

A

64bit版 Oracle環境にて、アプリケーションが32bitで作成されていないことが原因と考えられます。

Solaris版 NetCOBOLは32bitコンパイラです。64bitコンパイラは提供されていません。
そのため、32bit用プレコンパイラと32bit用オラクルライブラリを使用してアプリケーションを作成する必要があります。 また、LD_LIBRARY_PATHに32bit用オラクルライブラリの格納パスを設定する必要があります。

32bit用プレコンパイラおよびアプリケーションの作成と実行に必要な32bit用オラクルライブラリの格納パスは、以下のとおりです。

32bit用プレコンパイラ procob32
32bit用オラクルライブラリ格納パス $ORACLE_HOME/lib32
$ORACLE_HOME/precomp/lib32

この対応により、作成された32bit用COBOLアプリケーションから、 Oracle 64bit版のデータベースがアクセスできるようになります。
なお、32bit版Oracle環境では上記対応は不要です。