YUSU189
@YUSU189

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Open COBOL ESQL v1.2.0のインストールについて

解決したいこと

Open COBOL ESQL v1.2.0のインストールについて

環境
ubuntu 22.04
postgresql11
opensource COBOL 1.5.2J

OpensourceCOBOLでOpen Cobol ESQL v1.2.0をインストールしようと
していますが、コンパイルエラーになります。

発生している問題・エラー

cd /Open-COBOL-ESQL-1.2
export LDFLAGS="-L/usr/lib/postgresql/11/lib"
export CPPFLAGS="-I/usr/include/postgresql"
./configure

ここまでは問題ないのですが、

$ make
mv -f .deps/ppout.Tpo .deps/ppout.Po
/bin/bash ../ylwrap scanner.l .c scanner.c -- :
make[2]: *** [Makefile:432: scanner.c] エラー 1
make[2]: ディレクトリ '/home/suzuki/Open-COBOL-ESQL-1.2/ocesql' から出ます
make[1]: *** [Makefile:393: all-recursive] エラー 1
make[1]: ディレクトリ '/home/suzuki/Open-COBOL-ESQL-1.2' から出ます
make: *** [Makefile:324: all] エラー 2

でコンパイルが通りません、格納ファイルのmakeファイル見ましたが

.l.c:
	$(AM_V_LEX)$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)

.y.c:
	$(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE)

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

になっていて、原因を特定できていないです。

自分で試したこと

・環境依存が原因だと思い、postgresql14をアンインストールしてpostgresql11をインストールしたこと。

・コマンドをインストールしたことによりエラー箇所が進んだこと

・psqlODBCをインストールして、それでコンパイルしようとしてコンパイルエラーになり、COBOLソースのコンパイルに使えない判断して消しました。

質問事項

・Open COBOL ESQL v1.2.0について環境依存やコンパイルエラーが必然的になるものでしょうか?

・コンパイルエラーを解消するためにコマンドを入れるとかありますでしょう?

・仮にOpen COBOL ESQL v1.2.0がダメで、psqlODBCを使う場合どのようにCOBOLをコンパイルすればいいでしょうか?

以上、よろしくお願いします。

0

3Answer

当てずっぽですみません。

↑このReadMeによると、「4. 必要要件」に「PostgreSQL C Library (libpq) 8.4 以降」とありますが、インストールされているでしょうか?

インストール方法が今ひとつはっきりしないのですが、
sudo apt-get install libpq-dev
sudo apt-get install postgresql11-develかな?

1Like

Comments

  1. @YUSU189

    Questioner

    libpq-devはすでにインストールしていて、
    sudo apt-get install postgresql11-develでインストールしようとしてみましたが、「パッケージ postgresql11-devel が見つかりません」になります。

  2. @YUSU189

    Questioner

    追記
    sudo apt-get install postgresql-server-dev-11するとpostgresql11-develがインストールできました。

  3. ↑このissue、同じ症状ですかね?
    クローズされていないので、解決していないのかな?

    ダメもとで試してみます??

    I tried it with "byacc", but it got an error.
    In checking OCESQL, "bison - y" is used by YACC command.
    Before executing "configure", try specifying "bison - y" for YACC.

    # yum install bison
    $ export YACC="bison -y"
    $ ./configure
    

    yumはubuntuだとapt-getかな

yum,aptにて省略せずバージョンを含めてinstallするとv1.2.0がインストールできます。

v1.2.0に拘る意図が理解できません。
レガシーcobolの移植は1.5.2Jではムリなのでしょうか?

psqlを利用するだけならODBCをムリに利用しないほうがよいのでは?

1Like

Comments

  1. @YUSU189

    Questioner

    v1.2.0に拘っているというより、本当ならopensoureCOBOL4Jでやるべきなのですが、こちらはdockerでやるのが基本で、あまりdockerの知識なかったため、v1.2.0でやろうとしてました。

    実際makeファイルを追っかけながら、コマンドのところでエラーになるとコマンドをapt-getとかでインストールするの繰り返しです。
    aptやapt-getでv1.2.0でインストールできないか調べて見ましたが、COBOLだとやはり情報が少ないです。

    ODBCをムリに利用しないほうがよいのでは?
    psqlは元データを仕込んどいて(CREATE TABLEやINSERT文で)、それをCOBOLでSELECT文で検証する目的でした。

こんにちは。
確認しますので、少しお待ちください。

この質問がQiitaに上がったことは、今たまたま気づきました。GitHubのIssueだと開発メンバーに通知されるので、今後はそちらの方が良いかもしれません。英語ばかりに見えますが、日本語でも対応してくれます。

こちらのissueに投稿しました。
https://github.com/opensourcecobol/Open-COBOL-ESQL/issues/109

1Like

Comments

  1. @YUSU189

    Questioner

    調べて下さり、ありがとうございます。

    OSSコンソーシアムからダウンロードしてそれをtarで解凍しましたが、
    v1.3というバージョンがあることを初めて知りました。

    それを解凍して試してみます。

    開発者の方に問い合わせて頂き、感謝しております。

  2. @YUSU189

    Questioner

    おかげさまでOpen COBOL ESQL v1.3にてインストール出来ました。
    プリコンパイル、コンパイルまで出来ることが完了しました。
    ありがとうございます。

  3. 解決したとのこと、お知らせありがとうございます。
    良かったです!

Your answer might help someone💌