在ubuntu下编译安装gmt

简介: 根据gmt官方说明首先安装所需的库前戏:安装所需库cmake下载解压:tar -zxvf cmake-3.13.0-rc1.tar.gz配置:make build, cd build, .

根据gmt官方说明首先安装所需的库

前戏:安装所需库

cmake

  1. 下载
  2. 解压:tar -zxvf cmake-3.13.0-rc1.tar.gz
  3. 配置:make build, cd build, ../configure --prefix=/usr/local
  4. make
  5. make install

netcdf

github仓库

netCDF依赖库

m4

安装 sudo apt-get install m4

HDF5

  1. 下载
  2. 解压:tar xvf hdf5-1.8.20.tar
  3. configure:mkdir build cd build ../configure --prefix=/usr/local
  4. make
    ... 等待 ....
  5. make install or sudo make install

curl

因为编译netcdf需要用到curl的源码,我喜欢从源码安装。如果后面make netcdf的时候出现错误,可以尝试将从apt-get安装的curl卸载掉:sudo apt-get autoremove curl

  1. 下载
  2. 解压:tar -zxvf curl-7.61.1.tar.gz
  3. config: mkdir build cd build ../configure --prefix=/usr/local
  4. make: make
  5. install: make install

此时如果再不提示缺什么库的话,应该会顺利通过。如果缺什么库,编译过程中会提示缺什么,继续安装所缺库即可

安装netCDF

  1. 解压: tar -zxvf netcdf-4.6.1.tar.gz
  2. mkdir build mkdir bin
  3. cd build
  4. ../configure --prefix=/usr/local 或者其他的什么你想安装到的目录
  5. make
    ... 等待 ...
  6. make install

GDAL

  1. 下载
  2. 解压:tar -zxvf gdal-2.3.2.tar.gz
  3. config: cd gdal-2.3.2 ../configure --prefix=/usr/local 注意:直接在主目录下面配置和make,不要创建build目录,不然会出现没有make目标的错误。
  4. make: make
    此过程等待时间非常长....
  5. install: make install

PCRE

  1. 下载
  2. 解压:tar -zxvf pcre-8.42.tar.gz
  3. config: mkdir build cd build ../configure --prefix=/usr/local
  4. make: make
  5. install: make install

出现了几个警告:libtool: warning: relinking 'libpcreposix.la', libtool: warning: relinking 'libpcrecpp.la'先不管

BLAS

  1. 下载
  2. 解压:tar -zxvf blas-3.8.0.tgz
  3. 编译生成libblas.so:gfortran -shared -O2 *.f -o libblas.so -fPIC
  4. 添加环境变量到~/.zshrc: export LIBPATH=/mnt/d/Research/gmt/library/BLAS-3.8.0/libblas.so:$LIBPATH

LAPACK

  1. 下载
  2. 解压:tar -zxvf lapack-3.8.0.tar.gz
  3. 拷贝make.inc:cp make.inc.example make.inc
  4. 添加-fPICOPTSNOOPT
OPTS    = -O2 -frecursive fPIC
DRVOPTS = $(OPTS)
NOOPT   = -O0 -frecursive fPIC
  1. 修改lib名称
BLASLIB = ../../librefblas.so
LAPACKLIB = liblapack.so
  1. 修改SRC/makefile
../$(LAPACKLIB): $(ALLOBJ)
    $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)
    $(RANLIB) $@

改为

../$(LAPACKLIB): $(ALLOBJ)
    $(LOADER) $(LOADOPTS) -shared -Wl,-soname,liblapack.so -o $@ $(ALLOBJ) ../librefblas.so
  1. 修改BLAS/SRC/Makefile
$(BLASLIB): $(ALLOBJ)
    $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)
    $(RANLIB) $@

改为

$(BLASLIB): $(ALLOBJ)
    $(LOADER) $(LOADOPTS) -z muldefs -shared -Wl,-soname,librefblas.so -o $@ $(ALLOBJ)

如果你没有g77编译器,请将第2步拷贝的make.inc文件中的两个g77更换为你的fortran编译器比如gfortran

  1. make
make blaslib
make lapacklib
  1. 添加环境变量: export LIBPATH=/mnt/d/Research/gmt/library/BLAS-3.8.0/libblas.so:/mnt/d/Research/gmt/library/lapack-3.8.0/liblapack.so:$LIBPATH

安装OpenMP库

sudo apt-get install libomp-dev

FFTW

  1. 下载
  2. 解压:tar -zxvf fftw-3.3.8.tar.gz
  3. 配置:make build, cd build, ../configure --prefix=/usr/local
  4. make
  5. make install

Ghostscript

sudo apt-get update
sudo apt-get install ghostscript

配置数据

下载

  1. GSHHG
  2. DCW-GMT

设置路径: 环境变量

  1. GSHHG_PATH
  2. DCW_PATH

编译gmt

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
make -j

保持与官方仓库同步更新(针对二次开发者)

  1. 查看目前的远程仓库地址:git remote -v
  2. 添加官方仓库:git remote add upstream https://github.com/GenericMappingTools/gmt.git
    其中upstream是官方仓库,orgin是你fock之后存在你自己的github账户里的仓库
  3. 拉取官方仓库更新:git fetch upstream
  4. 切换到自己的分支,比如master:git checkout master
  5. 与官方更新合并:git merge upstream/master
  6. 修改远程push仓库地址:git remote set-url origin xxxx.git
  7. 删除远程仓库地址:git remote rm origin

如果发现在终端不能直接用gmt命令,那是因为安装了git的插件的原因。一般这个是由于on my zsh引起的,gmt这个词被定义为了 alias g./home/zguo/.oh-my-zsh/plugins/git/git,定义的文件为:/home/zguo/.oh-my-zsh/plugins/git/git.plugin.zsh,找到这个文件打开之后把这一行注释掉,然后重新source一下或者重新打开一下终端就好了。

相关文章
|
10天前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
73 43
|
8天前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
60 30
|
5天前
|
Ubuntu
Ubuntu20.04 编译安装FFmpeg,出错分析以及解决方案
通过上述步骤,可以在 Ubuntu 20.04 上成功编译和安装 FFmpeg。如果遇到问题,可以通过检查依赖包的安装情况以及 `config.log` 文件来解决。掌握这些技巧和解决方案,可以有效地解决编译过程中遇到的各种问题,提高安装成功率。
30 13
|
11天前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
31 12
|
26天前
|
JSON Ubuntu 开发者
ubuntu 22安装lua环境&&编译lua cjson模块
通过上述步骤,可以在 Ubuntu 22.04 系统上成功安装 Lua 环境,并使用 LuaRocks 或手动编译的方式安装 lua-cjson 模块。本文详细介绍了每一步的命令和操作,确保每一步都能顺利完成,适合需要在 Ubuntu 系统上配置 Lua 开发环境的开发者参考和使用。
118 13
|
1月前
|
Ubuntu 开发工具 C++
Ubuntu 22.04上编译安装c++ libconfig library
通过本文的介绍,我们详细讲解了如何在Ubuntu 22.04上编译和安装libconfig库,并通过编写和运行一个简单的测试程序来验证安装是否成功。libconfig库的安装过程相对简单,主要包括环境准备、下载源码、编译和安装几个步骤。希望本文对您在项目中使用libconfig库有所帮助。
135 14
|
3月前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
276 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
|
3月前
|
Ubuntu Linux C语言
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
本文介绍了在Ubuntu 18.04系统上编译安装OpenCV 3.4.0及其扩展包opencv_contrib 3.4.0的详细步骤,包括下载源码、安装依赖、配置CMake和编译安装,以及常见问题的解决方法。
458 1
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
|
3月前
|
Ubuntu 编译器 计算机视觉
Ubuntu系统编译OpenCV4.8源码
【10月更文挑战第17天】只要三步即可搞定,第一步是下载指定版本的源码包;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持;第三步就是编译OpenCV源码包生成安装文件并安装。
|
3月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
73 3