PEA软件可用于实时精密卫星钟差估计,精密卫星定轨,精密单点定位,电离层建模以及DCB估计等。

Ginan开发人员推荐使用Ubuntu18.04或Ubuntu20.04搭建,本文使用Ubuntu20.04系统

PEA安装参考博客:https://blog.sciencenet.cn/blog-3486472-1337639.html

GitHub下载Ginan安装包

Ginan安装的依赖项:(官网推荐)

  • C/C++ and Fortran compiler. We use and recommend gcc, g++, and gfortran
  • BLAS and LAPACK linear algebra libraries. We use and recommend OpenBlas as this contains both libraries required
  • CMAKE > 3.0
  • YAML > 0.6
  • Boost >= 1.73 (tested on 1.73)
  • Mongo_cxx >= 3.6.0 (and Mongo_C >= 1.17.1)
  • Eigen3 > 3.4 (we have used 3.4.0)
  • netCDF4
  • Python3 (tested on Python 3.7)

修改源sources.list

输入命令:sudo gedit  /etc/apt/sources.list打开sources.list

在末尾加入阿里源:

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

随后加入:

deb http://security.ubuntu.com/ubuntu bionic-security main (这个是用于下载libssl1.0-dev)

保存退出,输入命令:

sudo apt update

{(若出现没有公钥。。。。。。。。。)输入命令sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32导入公钥3B4FE6ACC0B21F32是缺少的密钥,缺少什么就下什么!

随后再次输入sudo apt update}

(...等待)

sudo apt upgrade -y

阿里源最近好像有些不稳定,有更好的还望大家留言推荐

1、更新Ubuntu系统并安装gcc、gfortran、git、openblas等;

sudo apt install -y git gobjc gobjc++ gfortran libopenblas-dev openssl curl net-tools openssh-server cmake make libssl1.0-dev wget sudo python3 software-properties-common

2、安装libssl1.0-dev依赖库

输入命令:

sudo apt update && apt-cache policy libssl1.0-dev

sudo apt-get install libssl1.0-dev

安装完成,输入命令查看是否安装完成:dpkg -l *libssl*,下图表示安装完成。

 3、安装gcc -9,g++ -9(Ginan推荐9版本)

输入命令:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y

sudo apt update

sudo apt install -y gcc-9 g++-9

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 51

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 51

输入命令 gcc -v和g++ -v 查看版本,gcc和g++版本均为9.5.0

4、安装openssl-devel依赖库

sudo apt-get install openssl

创建一个临时目录结构,使依赖项位于其中,它可以在安装过程完成后删除:

sudo mkdir -p /opt/tmp

5、YAML

安装YAML库,输入命令
cd /opt/tmp

sudo git clone https://github.com/jbeder/yaml-cpp.git(若下载不成功可自行在GitHub下载安装包)

如若解压:sudo unzip ./yaml-cpp.zip

cd yaml-cpp

sudo mkdir cmake-build && cd cmake-build

sudo cmake .. -DCMAKE\_INSTALL\_PREFIX=/usr/local/ -DYAML\_CPP\_BUILD\_TESTS=OFF

sudo make install yaml-cpp

cd ../..

sudo rm -fr yaml-cpp

6、Boost

cd /opt/tmp/

sudo wget -c https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_73_0.tar.gz

sudo tar -xf boost_1_73_0.tar.gz

cd boost_1_73_0/

sudo ./bootstrap.sh

sudo ./b2 install

(较长等待...)

cd ../..

sudo rm -rf boost_1_73_0 boost_1_73_0.tar.gz

7、Eigen3

cd /opt/tmp/

sudo git clone https://gitlab.com/libeigen/eigen.git

cd eigen

sudo git checkout 3.4.0

sudo mkdir cmake-build

cd cmake-build

sudo cmake ..

sudo make install

cd ../..

sudo rm -rf eigen

8、Mongo_cxx_driver (PEA)

cd /opt/tmp

sudo wget https://github.com/mongodb/mongo-c-driver/releases/download/1.17.1/mongo-c-driver-1.17.1.tar.gz(也可直接在该网站下载)

sudo tar -xf mongo-c-driver-1.17.1.tar.gz

cd mongo-c-driver-1.17.1/

sudo mkdir cmake-build

cd cmake-build/

sudo cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF -DENABLE_EXAMPLES=OFF ../

sudo cmake --build .

sudo cmake --build . --target install

cd ../..

sudo curl -OL https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.6.0/mongo-cxx-driver-r3.6.0.tar.gz(也可直接在该网站下载)

sudo tar -xf mongo-cxx-driver-r3.6.0.tar.gz

cd mongo-cxx-driver-r3.6.0/build

sudo cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_EXAMPLES=OFF ../

sudo cmake --build . --target EP_mnmlstc_core(需要较好的网络)

sudo cmake --build .

sudo cmake --build . --target install

cd ../..

sudo rm -rf mongo-c-driver-1.17.1 mongo-c-driver-1.17.1.tar.gz mongo-cxx-driver-r3.6.0 mongo-cxx-driver-r3.6.0.tar.gz

在安装mongocxx时,cmake --build.出现了如下错误:

该错误应该是和glibc版本有关(好像是和Ubuntu有关),当定义_SC_SIGSTKSZ_SOURCE或_GNU_SOURCE时,MINSIGSTKSZ和SIGSTKSZ在Linux上不再是常数。可以更换glibc版本或者Ubuntu版本,或者在sigStackSize的定义之前添加以下内容:(catch.hpp)

#undef MINSIGSTKSZ

#define MINSIGSTKSZ 16384

 9、netcdf4 (OTL package)

sudo apt -y install libnetcdf-dev libnetcdf-c++4-dev

10、安装Ginan-PEA
sudo cd /opt
git clone https://github.com/GeoscienceAustralia/ginan.git(或者github.com下载后拷贝到/opt)
cd ginan
sudo mkdir -p src/build
cd src/build
sudo cmake ../(或者sudo cmake ../ -DOPTIMISATION=FALSE
sudo make  (PEA和POD)
或者
sudo make pea
sudo make pod
检查PEA是否安装
cd ../../examples
../bin/pea --help

到此PEA已安装完成!

仅记录科研中的经历,有问题请大家批评指正,大家遇到困难欢迎大家留言。

参考:

https://blog.csdn.net/m0_46577050/article/details/122978664

https://www.saoniuhuo.com/question/detail-2133174.html

安装libssl-dev失败的另一种方法(我用这个没成功):

https://blog.csdn.net/Wang20122013/article/details/124836398?spm=1001.2101.3001.6650.10&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-10-124836398-blog-110366597.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-10-124836398-blog-110366597.pc_relevant_default&utm_relevant_index=10

https://jingyan.baidu.com/article/8065f87f480a84233024985c.html

https://blog.csdn.net/L021216/article/details/123126368

https://www.feiniaomy.com/post/1043.html

https://www.cnblogs.com/zhtzyh2012/p/16410705.html

Ubuntu20.04安装PEA软件的更多相关文章

  1. ubuntu20.04安装网易云音乐

    Ubuntu20.04安装网易云 进入网易云音乐下载地址 下载对应客户端 进入终端,安装 sudo dpkg -i 软件名.deb

  2. Ubuntu20.04安装Typora

    Ubuntu20.04安装Typora 安装方法 # optional, but recommended sudo apt-key adv --keyserver keyserver.ubuntu.c ...

  3. Ubuntu20.04安装 maven并配置阿里源

    Ubuntu20.04安装 maven并配置阿里源 sudo apt update sudo apt install maven #安装maven,默认安装路径为/usr/share/maven 添加 ...

  4. ubuntu20.04安装EasyConnect兼容性问题解决

    目录 1. 命令行启动EasyConnect 2. 降级pango 3. 重新启动EasyConnect,即可成功启动 Ubuntu20.04安装EasyConnect后无法启动的解决方案 工作使用操 ...

  5. Ubuntu20.04安装Redis

    本文介绍了如何在Ubuntu20.04上安装Redis. 安装Redis sudo apt install redis-server 检查服务的状态 安装完成后可以通过以下命令检查服务的状态 sudo ...

  6. Ubuntu20.04安装MongoDB

    本教程描述了如何在Ubuntu20.04上安装MongoDB4.4 安装MongoDB Ubuntu 20.04默认存储库中不提供最新版本的MongoDB,因此需要在系统中添加官方的MongoDB存储 ...

  7. Ubuntu20.04 安装MongoDB及其基本使用

    MongoDB 官方文档 本博客旨在自我学习使用,如有任何疑问请及时联系博主 基本介绍 MongoDB 是由C++语言编写并基于分布式文件存储的开源数据库. MongoDB 是一款介于关系数据库和非关 ...

  8. ubuntu server 12.04安装任何软件都出现the following packages have unmet dependencies的解决方法

    虽然目前没太弄清这到底是怎么回事,但是暂时可以给出一个解决的方法, 如果在安装任何软件都会出现这个问题,那么尝试着输入sudo apt-get install -f试一下. 在该命令执行完成后,我这边 ...

  9. Ubuntu 16.04安装各种软件

    Ubuntu 16.04发布了,带来了很多新特性,同样也依然带着很多不习惯的东西,所以装完系统后还要进行一系列的优化. 1.删除libreoffice libreoffice虽然是开源的,但是Java ...

  10. Ubuntu19.04安装常用软件

    安装Indicator Stickynotes 桌面便签小工具sudo add-apt-repository ppa:umang/indicator-stickynotessudo apt-get u ...

随机推荐

  1. JZOJ 5352. 【NOIP2017提高A组模拟9.7】计数题

    题目 分析 考虑 \(kruskal\) 的过程 我们选边从高位开始 当前位为 \(0\) 的放一边,为 \(1\) 的放另一边 将 \(0\) 的建一棵字典树, \(1\) 的匹配 因为是异或,那就 ...

  2. C语言初学习

    首先我们先看一下什么是编译型语言和解释型语言: 解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行 编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂得语言--机器语言 ...

  3. Connect-The-Dots

    Connect-The-Dots 目录 Connect-The-Dots 1 信息收集 1.1 端口扫描 1.2 后台目录扫描 1.2.1 目录分析 2 目标服务安全检测 2.1 ftp检测 2.2 ...

  4. 【译】.NET 7 中的性能改进(七)

    原文 | Stephen Toub 翻译 | 郑子铭 Arm64 在.NET 7中,大量的努力用于使Arm64的代码生成与x64的代码生成一样好或更好.我已经讨论了一些与架构无关的PR,还有一些是专门 ...

  5. Postgres的count统计误区

    数据库统计数据量时常常用的是count(1)或者count(*),这两者区别不大,在postgres里面统计数据总量时,要注意count(column_name)与count(*)的区别,有些场景下会 ...

  6. 【2】APP自动化-脚本研发2.0-3.0需要重复看视频

     calculatorV1.0.py #V1.0 实现手机端计算器自动化测试:使用常量进行参数传递#导入appium类库from appium.webdriver.webdriver import W ...

  7. CF1383E 题解

    题意 传送门 给定一个长度为 \(n\) 的 01 串 \(a\).在一次操作中,你可以选择任意一个 \(i\in[1,|a|)\),令 \(a_i=\max(a_i,a_{i+1})\),然后将 \ ...

  8. web实践4

    web实践4 20201303张奕博 2023.1.27 创建胡萝卜 接着,在地面上添加一些胡萝卜 .胡萝卜身体部分是通过四棱柱 CylinderBufferGeometry 实现的,然后通过 Box ...

  9. LP1-4:功能图分析方法(白盒测试)

  10. php 关于 json字符串使用json_decode 转数组为空

    项目中遇见一个之前没有遇见的问题,就是 转化一个json字符串为数组时 为空,解决办法是使用 htmlspecialchars_decode 处理一下json字符串 然后 再使用 json_decod ...