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 【执行】