CentOS 操作系统安装 Bernese
之前的文章介绍过了 Bernese 软件在 Ubuntu 操作系统下的安装过程。考虑到 CentOS 是在服务器和工作站领域用户量非常大的 Linux 发行版,并且其依赖环境的配置过程与 Ubuntu OS 有较多的不同,因此本文介绍在 CentOS 下安装 Bernese 软件的过程。
我实际使用的操作系统为 CentOS 7,Bernese 软件版本为 5.2。鉴于 RHEL(Red Hat Enterprise Linux)与 CentOS 有非常密切的关系,因此该安装过程同样适用于对应的 RHEL 7 版本。
软件包内容
拿到 Bernese 软件的安装包后,你应该首先检查安装文件是否齐全,一份完整的软件包至少包含以下文件:
- BERN52.tgz:主程序包;
- CAMPAIGN52.tgz:示例工程;
- DATAPOOL.tgz:输入数据;
- ICONS.tgz:程序图标;
- README:程序说明文档;
- SAVEDISK.tgz:输出数据;
- setup.sh:程序安装脚本。
配置环境依赖
Bernese 软件使用 Fortran 90、基于 Qt 的 C++、Perl 5 以及 Shell 等语言编写。使用该程序需要安装相应的编译器和解释器。要成功安装 Bernese,必须先安装以下程序:
- C++ 编译器;
- Fortran 90 编译器;
- Perl 5;
- Qt 4;
- 其他依赖库。
CentOS 7 已经自带了 Perl 5,因此还需要安装 C++ 和 Fortran 语言编译器、Qt 4 和依赖环境。
安装依赖库
安装 Qt 4 和 Bernese 软件需要使用 X11 和 zlib 两个重要的库。在终端中执行如下命令安装 X11 和 zlib:
1 | $ sudo yum install libX11-devel |
安装 GNU-C++
取决于你选择的操作系统安装方式,CentOS 7 可能不会自带 GNU-C++ 编译器,为保证 Bernese 能够安装成功,使用下面的命令安装它:
1 | $ sudo yum install gcc-c++ |
安装 GNU-Fortran
Fortran 语言编译器用于编译 Bernese 软件中使用 Fortran 90 开发的主程序。在终端中执行以下命令安装 GNU-Fortran(gfortran):
1 | $ sudo yum install gcc-gfortran |
安装 Perl 解释器
Bernese 的批处理脚本使用 Perl 语言编写。虽然很多 Linux 版本已经预装了 Perl 解释器,但以防万一,最好执行一下安装命令(在 Perl 解释器已经安装的情况下不会重复安装):
1 | $ sudo yum install perl |
安装 Qt 4
Bernese 软件的程序主窗口采用 Qt 4 编写,编译 Bernese 菜单模块需要 Qt 4。从 Qt 4 的下载页面,下载 Qt 4 的源代码 进行编译安装。以 qt-everywhere-opensource-src-4.8.7.tar.gz 为例,首先解压源代码文件:
1 | $ tar -zxvf qt-everywhere-opensource-src-4.8.7.tar.gz |
使用 cd 命令进入解压得到的文件夹,依次执行如下命令将 Qt 4 安装到 /usr/local/qt4 目录内:
1 | $ sudo ./configure -release -opensource -static -prefix /usr/local/qt4 -no-webkit -no-script |
待 Qt 4 编译完成后,还需要为其配置环境变量 QTDIR
,以指向 Qt 4 的安装目录。环境变量根据实际使用的 Shell 有所不同,对于 Bash 的用户,使用如下方式设置:
1 | $ export QTDIR="/usr/local/qt4" |
C Shell 或 TC Shell 用户,请使用以下命令设置:
1 | $ setenv QTDIR "/usr/local/qt4" |
至此,依赖环境已经配置完毕,可以开始安装 Bernese 了。
安装 Bernese
Bernese 为用户提供了使用方便的安装脚本 setup.sh
。该脚本默认安装将 Bernese 安装到用户的 Home 文件夹,但也可以安装到其他文件夹下。如果你希望跟计算机上的其他用户也能使用 Bernese,需要共享 BERN52 和 MENU.INP 的执行和修改权限。完整安装 Bernese 需要约 500 MB 的硬盘空间。我习惯将外部编译的大型程序安装至 /opt 文件夹内,本文即以 /opt 作为安装目录示例。
使用 cd
命令进入 Bernese 源码文件夹,使用 root 用户执行其中的安装设置脚本:
1 | $ sh setup.sh |
之后,安装脚本提示输入安装目录:
Full path where the BERN52 software tree will be installed
[ /root ]:
这里的 /root 表示默认安装路径。我希望将其安装到 /opt/BERN52,因此输入 /opt。随后脚本打印出找到的 Perl 解释器的位置:
Perl program to be used [ /usr/bin/perl ]:
使用系统自带的 Perl 解释器就足够了,此处直接回车。之后,设置脚本 configure.pm
将被启动,并打印出以下提示:
===========================
CONFIGURATION OF THE BERNESE GNSS SOFTWARE
===========================
0 … Complete installation (Steps 1 to 5)
1 … Update LOADGPS.setvar
2 … Install online updates
3 … Add a new user environment
4 … Compile the menu
5 … Compile the programs
6 … Install the Example campaign
7 … ---x … Exit
此处第 1 项为更新环境变量设置,第 2 项为安装在线更新包,第 3 项为添加新用户环境,第 4 项为编译图形界面菜单,第 5 项为编辑程序,第 6 项为安装解算工程示例;而第 0 项为完整安装,即执行从第 1 项至第 5 项的全部过程;键入 x 为退出安装程序。这里当然要选择完整安装,键入 0。
程序继续打印出 Bernese 软件支持的编译器,其中 GNU 一项指示到 gfortran 的路径,表明程序找到的了该编译器:
Select Compiler for OS LINUX:
1: G95
2: GNU -> /bin/gfortran
3: IFC
4: PG_F90
5: SUNF90
6: OTHER
这里系统已经检测到了 GNU Fortran。选择编译器,这里使用我之前安装的 gfortran。输入 2。随后将打印出当前应用的环境变量:
Current Values:
-------
VARIABLE DESCRIPTION VARIABLE NAME VARIABLE VALUE
1: Path to the software C => /opt/BERN52
2: Path to Qt lib for Bernese QTBERN => /usr/local/qt_4.7.4
3: Operating system group OS => UNIX
4: Name of the operating system OS_NAME => LINUX
5: Fortran compiler name F_VERS => GNU
6: List of additional compilers F_VERS_LIST =>
7: Host of the BPE server BPE_SERVER_HOST => myComputer
8: Path to user environment U => ${HOME}/GPSUSER52
9: Path to temp. user environment T => ${HOME}/GPSTEMP
10: Path to campaign directory P => ${HOME}/GPSDATA/CAMPAIGN52
11: Path to datapool area D => ${HOME}/GPSDATA/DATAPOOL
12: Path to savedisk area S => ${HOME}/GPSDATA/SAVEDISKAccept the values (y/n):
这里的第 1 项为 Bernese 软件的安装目录,第 2 项为所使用的 Qt 4 所在目录,第 3 项为操作系统类型,第 4 项为操作系统名称,第 5 项为使用的 Fortran 编译器,第 6 项为其他可用的编译器,第 7 项为 BPE 服务器,第 8 项为用户环境目录,第 9 项为用户临时文件缓存目录,第 10 项为用户解算工程文件夹,第 11 项为用户数据文件夹目录,第 12 项为解算成果目录。若接受其默认的变量设置,输入 y。要修改其中的配置,输入 n,然后根据其提示,输入变量编号来配置变量。这里使用默认设置,输入 y。
随后安装程序将检测是否存在所需的文件夹,当提示某个文件夹不存在时,程序提示是否创建,键入 y 创建即可。之后将开始 Bernese 的安装过程,泡杯茶等待程序编译完成。
编译成功后提示:
*******************************************
* Bernese menu compiled successfully.
*******************************************
和
*******************************************
* Fortran programs compiled successfully.
*******************************************
如果你看到了以上两个提示,那么恭喜你:Bernese 软件已经编译成功了!
添加用户
使用 root 用户进行日常操作既不方便也不安全。为了让非 root 用户也能使用 Bernese 软件,需要使用新用户加载环境变量设置文件,再启动配置程序。在终端中执行如下命令:
1 | $ source /opt/BERN52/GPS/EXE/LOADGPS.setvar |
程序将再次打印出安装提示,此时键入 3,根据提示添加新用户的环境变量和 Bernese 运行所需的文件夹即可。
配置环境变量
为了在每次开机后都能直接使用 Bernese 软件,需要编辑 Shell 配置文件,让系统在启动时自动加载环境变量。Bash 用户打开 ~/.bashrc,C Shell 或 TC Shell 用户打开 ~/.cshrc,为其添加以下内容:
1 | # Load environment variables for Bernese GNSS Software |
之后将可以启动 Bernese 了,你可以在终端中键入 G 试一下。若程序安装成功,将弹出类似下面这样的 Bernese 软件窗口: