**
Ubuntu 下安装PEA
**
在https://github.com/GeoscienceAustralia/ginan网站下载ginan源代码,ginan应用于Linux,mac系统下。
ginan需要几个依赖项:
$ sudo apt install -y git gobjc gobjc++ gfortran libopenblas-dev openssl curl net-tools openssh-server cmake make iblapack-dev gzip vim libssl1.0-dev python3-cartopy python3-scipy python3-matplotlib python3-mpltoolkits.basemap
blas、lapack(可安装OpenBlas)
CMAKE > 3.0
YAML > 0.6
Boost > 1.70 (tested on 1.73)
Eigen3
MongoDB*
部分依赖项安装方法:
1、libssl1.0-dev:
首先打开:/etc/apt/sources.list,在其中添加:
deb http://security.ubuntu.com/ubuntu bionic-security main
然后在终端运行:
sudo apt update && apt-cache policy libssl1.0-dev
sudo apt-get install libssl1.0-dev
2、OpenBlas:
首先下载openblas源码,然后解压在终端运行make
即可
3、CMAKE (参考:华der)
Ubuntu16.04中默认的cmake版本为3.5,而eigen所需3.10及以上版本
所以首先卸载原始版本:
sudo apt-get autoremove cmake
再下载新版本(以3.12.3版本为例)
sudo apt-get install build-essential
wget http://www.cmake.org/files/v3.12/cmake-3.12.3.tar.gz
再进行解压和安装
tar xf cmake-3.12.3.tar.gz
cd cmake-3.12.3
./configure
make
sudo make install
然后修改路径问题
export PATH=/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
cmake
最后可查看是否安装成功
cmake --version
4、openssl-devel
sudo apt-get install openssl
sudo apt-get install libssl-dev
5、YAML
cd /data/tmp
sudo git clone https://github.com/jbeder/yaml-cpp.git
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
注:若无法git克隆,可自行进入GitHub网址下载并移至,当前文件夹。
5、Boost
cd /data/tmp/
sudo wget -c https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_73_0.tar.gz
sudo gunzip boost_1_73_0.tar.gz
sudo tar xvf boost_1_73_0.tar
cd boost_1_73_0/
sudo ./bootstrap.sh
sudo ./b2 install
cd ..
sudo rm -fr boost_1_73_0/ boost_1_73_0.tar
6、Eigen3
cd /data/tmp/
sudo git clone https://gitlab.com/libeigen/eigen.git
cd eigen
sudo mkdir cmake-build
cd cmake-build
sudo cmake ..
sudo make install
cd ../..
sudo rm -rf eigen
注:如无法克隆,可同样去gitlab网址下载。
7、MongoDB(可选)
wget https://github.com/mongodb/mongo-c-driver/releases/download/1.17.1/mongo-c-driver-1.17.1.tar.gz
tar -xvf mongo-c-driver-1.17.1.tar.gz
cd mongo-c-driver-1.17.1/
mkdir cmakebuild
cd cmakebuild/
cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF ..
cmake --build .
sudo cmake --build . --target install
cd ../../
curl -OL https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.6.0/mongo-cxx-driver-r3.6.0.tar.gz
tar -xzf mongo-cxx-driver-r3.6.0.tar.gz
cd mongo-cxx-driver-r3.6.0/
cd build/
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
sudo cmake --build . --target EP_mnmlstc_core
cmake --build .
sudo cmake --build . --target install
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt update
sudo apt install mongodb-org
sudo systemctl start mongod
sudo systemctl status mongod
mongod
开始构建PEA:
cd src
mkdir -p build
cd build
cmake ..
make pea -j 2
最后查看是否安装成功:
../../bin/pea --help
本文主要参考GINAN官方提示