关于X86机器上运行GnuCobol的研究

1.安装GnuCobol
当前的稳定版本是 3.1.2,已经在各种平台上进行了广泛测试,并已投入商用。
下载地址为:
https://phoenixnap.dl.sourceforge.net/project/gnucobol/gnucobol/3.1/gnucobol-
3.1.2.tar.bz2

1)上传压缩包至x86服务器;
2)通过tar -xvf gnucobol-3.1.2.tar.bz2 解压压缩包;
3)通过./configure运行配置文件源代码,验证时报错:error: make not found,因此下载make的rpm包并通过yum -Uvh make-4.2.1-10.el8.x86_64.rpm --nodeps --force强制安装;
4)再次运行配置文件的源代码,验证时再次报错,提示缺少相关依赖,遂以同样的方式下载安装gmp-c+±6.1.2-10.el8.x86_64.rpm、gmp-devel-6.1.2-10.el8.x86_64.rpm包。
5)阅读GnuCobol解压包中的DEPENDENCIES.md文件可知,GnuCobol的正常配置需要Berkeley DB、VBISAM、DISAM三种数据库依赖之一,本文选择Berkeley DB,搭建步骤见下。

2.安装Berkeley DB依赖软件
1)下载软件并上传到服务器
berkeley-db 的下载地址为,在本次测试中使用 5.3.28 版本
http://download.oracle.com/otn/berkeley-db/db-5.3.28.tar.gz
1)上传压缩包至x86服务器;
2)解压压缩包;
3)通过./dist/configure运行配置文件源代码,配置编译环境,报错:error: gcc not found,遂下载安装gcc-8.4.1-1.el8.x86_64.rpm,而在安装时再次报错:no acceptable C compiler found in $PATH,其原因是安装GCC需要一些指定的依赖,由于这是离线安装,无法自动下载因此需要手动下载安装,查阅相关依赖文档后得知需要以下依赖文件:cpp-4.8.5-44.el7.x86_64.rpm、glibc-headers-2.28-189.el8.x86_64.rpm、glibc-devel-2.28-189.el8.x86_64.rpm、kernel-headers-4.18.0-373.el8.x86_64.rpm、mpfr-3.1.6-1.el8.x86_64.rpm,由于环境中已经安装了部分相关依赖,此处安装时采用强制安装的方式避免出现依赖顺序错误;
4)使用make命令执行编译;
5)使用make install命令安装Berkeley DB。

3.编译GNUCobol
1) 修改GNUCobol中的配置文件:
1·config/lax.conf-inc配置文件中的litetal-length的值修改为20480;
2·config/mf-strict.conf配置文件中的literal-length的值修改为20480;
3·/usr/local/share/gnucobol/config/default.conf中的binary-size值修改为2-4-8;
4·/usr/local/share/gnucobol/config/mf-strict.cong中的binary-size值修改为2-4-8;
2)之前阅读依赖文档可知,GNUCobol的运行需要BerkeleyDB,因此需要告知GNUCobol的配置文件,BerkeleyDB的路径,即指定LDFLAGS与CPPFLAGS参数:

./configure LDFLAGS=-L/usr/local/BerkeleyDB.5.3/lib CPPFLAGS=-I/usr/local/BerkeleyDB.5.3/include

3)make执行编译

4.安装GNUCobol
1)make install 安装

5.验证Cobol

cobc -x helloworld.COB                【编译】
./helloworld                          【执行】
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值