2007年05月07日

4GL V7.32.UC4 on RHFC(gcc4)

Infomrix 4GL Compiler version 7.32.UC3 を gcc v4 で使おうとすると、 gcc が -fwritable-strings オプションをサポートしていないため、アプリケーションの コンパイルが出来ませんでした。また、$INFORMIXDIR/bin/c4gl を書き換えて無理にコンパイルすると、出来上がったアプリケーションが正しく動作しませんでした。
( フォームの実行時などに、「セグメントエラー」 ( Segmentation Error ) が発生 )

4GL V7.32.UC4 on RHFC(gcc4)

Informix 4GL Compiler version 7.32.UC4 では、GCC4 との組み合わせでも動作するようですね。リリースノートに、gcc 4 での問題を修正した旨の記述があります。

_________________________________________________________

RELEASE NOTES FOR IBM INFORMIX TOOLS 7.32.xC4
DATE: November 2006
________________________________________________________


II. Bugs addressed in the 7.32.xC4 release

00128321 When compiling 4GL.7.32.UC3 application the option
-fwritable-strings will not be accepted by GNU
compiler GCC.4.


試しに RedHat Fedora Core 4 で i4gldemo を動かしてみましたが、demo4.4geのコンパイルと実行が特に問題なく出来ているようです。なお、machine note には、 GCC 4 について何も記載がありませんでした。残念ながら現在のところ GCC4やRHFC4 などでの利用は自己責任でお願いします。

ただし、この話とは別に、RHFC4 などの、一部の SELINUX 環境では、4GL アプリケーションを実行しようとした時に、エラーが出て実行できない場合があります。

c4gl d4_load.4gl
./a.out
./a.out: error while loading shared libraries: /usr/ifxtooluc4/lib/tools/lib4gsh.so: cannot restore segment prot after reloc: Permission denied

上記のようなエラーが発生した場合、次のコマンドを試してみると問題が解決する場合があるようです。

chcon -t texrel_shlib_t $INFORMIXDIR/lib/tools/*.so*
( 多分、chcon -t texrel_shlib_t $INFORMIXDIR/lib/esql/*.so* も必要ですね )

以下のURLにある情報が参考になりました。
http://www.querix.com/support/support/knowledge-base/platform/faq_linux_redhat


タグ :4glgcclinux

同じカテゴリー(ちょっと細かいテックネタ)の記事
DBACCESS_COLUMNS
DBACCESS_COLUMNS(2020-04-03 00:33)


※このブログではブログの持ち主が承認した後、コメントが反映される設定です。
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。