Ubuntu 操作系统安装 Bernese
Bernese software 是另一个著名的高精度 GNSS 数据处理软件。由瑞士伯尔尼大学(University of Berne)天文研究所开发,能够处理包括 GPS、GLONASS 和卫星激光测距(SLR)等多种观测数据。该程序适用于 Windows 或 UNIX/Linux 操作系统,内嵌图形界面(虽然比较丑),操作友好,模型准确,解算精度高,并且具有强大的数据批处理能力。
当前 Bernese 软件可以购买的最新版本为 5.2,获得授权后,你可以使用本文介绍的方法将其安装到运行 Linux 操作系统的计算机上。我实际使用的 Linux 发行版为 elementary OS Loki 0.4.1,但本安装过程应该也适用于 Ubuntu 16.04 LTS。
软件包内容
着手开始安装前,你应该首先检查安装文件是否齐全,一份完整的软件包至少包含以下文件:
- BERN52.tgz:主程序包;
- CAMPAIGN52.tgz:示例工程;
- DATAPOOL.tgz:输入数据;
- ICONS.tgz:程序图标;
- README:程序说明文档;
- SAVEDISK.tgz:输出数据;
- setup.sh:程序安装脚本。
安装依赖程序
Bernese 软件代码量庞大,计算部分主要采用 Fortran 语言编写,界面部分使用基于 Qt 的 C++ 实现,但也有一些 Perl 或 Shell 语言实现的脚本。在编译安装 Bernese 之前,你需要安装以下程序:
- 依赖库文件;
- C++ 编译器;
- Fortran 编译器;
- Perl 5;
- Qt 4。
目前,绝大部分的 Linux 发行版都已经自带了 Perl 5 解释器和 GNU-C++(g++)编译器,当然也包括 Ubuntu OS。因此实际上只安装所需依赖库、Fortran 编译器和 Qt 4 即可。
安装依赖库
Bernese 软件依赖于 X11 和 zlib,编译软件之前需要首先安装这些依赖。使用如下命令安装 X11 和 zlib:
1 | $ sudo apt-get install libx11-dev |
安装 GNU-Fortran
Fortran 编译器用于编译 Bernese 软件中使用 Fortran 语言编写的计算程序,在终端中使用如下命令安装 GNU-Fortran(gfortran)编译器:
1 | $ sudo apt-get install gfortran |
安装 Qt 4
Bernese 的图形操作界面部分基于 Qt 开发,编译程序菜单时需要引用 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 |
Qt 4 的编译安装过程需要耗费较长的时间,具体时长取决于你的计算机硬件配置,耐心等待其编译完成。然后设置环境变量 QTDIR
,将其指向 Qt 4 的安装目录。如果你使用 Bash,请使用以下命令:
1 | $ export QTDIR="/usr/local/qt4" |
如果你是 C Shell 或 TC Shell 用户,使用以下命令:
1 | $ setenv QTDIR "/usr/local/qt4" |
至此,依赖环境已经配置完毕,可以开始安装 Bernese 了。
安装 Bernese
Bernese 程序为用户提供了安装引导脚本 setup.sh
,执行该脚本并根据提示操作即可完成安装过程。Bernese 默认安装到当前用户的 Home 文件夹,但也可以安装到其他文件夹,完整安装需要约 500 MB 的磁盘空间。为了供多个用户使用,需要共享 BERN52 和 MENU.INP 的执行和修改权限。本示例将 Bernese 安装至 /opt 目录内。
使用 cd
命令进入 Bernese 源码文件夹,通过 root 用户执行其中的安装引导脚本:
1 | $ sh setup.sh |
之后程序提示输入 Bernese 软件的安装目录:
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,此后安装程序将自动执行步骤 1 到步骤 5。
随后安装程序打印出支持的编译器,其中 GNU 指示到 gfortran 的路径,表明安装程序找到的了该编译器:
Select Compiler for OS LINUX:
1: G95
2: GNU -> /bin/gfortran
3: IFC
4: PG_F90
5: SUNF90
6: OTHERSelect [2]:
这里系统已经检测到了 GNU-Fortran,键入 2 选择 gfortran 编译器。然后安装程序继续打印出当前应用的环境变量:
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 软件,需要配置在系统启动时自动加载环境变量。编辑用户主文件夹内的配置文件,Bash 用户打开 ~/.bashrc,C Shell 或 TC Shell 用户打开 ~/.cshrc,为其添加以下内容:
1 | # Load environment variables for Bernese GNSS Software |
之后将可以启动 Bernese 了,你可以在终端中键入 G 试一下。若程序安装成功,将弹出类似下面的 Bernese 软件窗口: