Ubuntu22.04安装GNSS数据处理软件GAMIT/GLOBK

由于微信公众号改变了推送规则,为了每次新的推送可以在第一时间出现在您的订阅列表中,记得将本公众号设为星标或置顶喔~


  手把手带您安装gamit/globk软件~

🌿前言

  受朋友之托,出一期Ubuntu22.04安装GNSS数据处理软件——gamit软件的教程~

🌸安装环境

  本教程录制的安装环境为ubuntu22.04双系统物理机,gamit软件版本为10.7。

  笔者在虚拟机ubuntu20.04和双系统ubuntu22.04上均尝试安装了gamit软件,相对而言,笔者感觉ubuntu20.04下的安装会更加顺利一些。笔者在介绍过程中也会穿插强调ubuntu22.04安装与20.04安装过程的区别。

🍀安装步骤

1.获取软件安装包

  gamit是一款开源软件,但是安装包的获取需要在gamit官网(http://geoweb.mit.edu/gg/)提交申请才可以获得ftp服务器的账号密码,再从ftp服务器上下载源码包。

gamit官网介绍

  笔者已将软件包上传至百度网盘,关注公众号回复关键字“240919”即可获取百度网盘链接~

2.安装必要的软件包

  使用apt包管理器来安装必要的软件包。

  新安装的Ubuntu可能需要换apt源为国内才能正常下载,具体换源方法网上教程很多,笔者这里仅放一张图片以便小白寻路(当你apt安装失败时再检查这一步)。

apt换源位置

  1. 在gamit压缩包目录下右键->在终端中打开,如此默认的终端路径会是gamit压缩包路径,以便后续操作。

打开终端

使用下面命令安装必要的软件包

sudo apt install tcsh csh gcc libx11-dev gfortran make gmt gmt-dcw gmt-gshhg

apt安装必要的软件包

  需要注意的是,笔者已经安装过相应的包,所以读者的输出应该与笔者不太一样。

3.下载低版本的gcc和gfortran

  这一步是非常重要,如果gcc和gfortran编译器版本过高,就可能会导致编译错误。首先需要下载安装低版本的gcc和gfortran,随后使用alternatives来设置默认的编译器版本。

  对于ubuntu20.04的用户而言,可以先转到4.检查调整后的版本,查看gcc和gfortran版本,如果版本都为9.几,则可以跳过此步。

  1. 安装低版本的gcc和gfortran
sudo apt install gcc-9 gfortran-9

安装低版本的gcc和gfortran

  1. 调整gcc-11的优先级为40,gcc-9的优先级为100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 40
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100

调整gcc-11的优先级为40,gcc-9的优先级为100

  1. 调整gfortran-11的优先级为40,gfortran-9的优先级为100
sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-11 40
sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-9 100

使用alternatives来设置默认的编译器版本

  1. 检查调整后的版本

  检查调整后的gcc和gfortran,如果版本为9.x,则ok。

gfortran --version
gcc --version

检查调整后的版本

4.编译gamit软件

  1. 使用unzip命令解压zip到当前目录
unzip GAMIT10.71.zip -d gamit_10_7

使用unzip命令解压zip到当前目录

使用ls命令可以查看当前目录下多了解压后的文件夹

  1. 使用cp命令拷贝文件夹到安装目录下

  使用cp命令将解压后的文件夹拷贝的要安装的目录,笔者习惯于安装在/usl/local/目录下。

sudo cp -r gamit_10_7/ /usr/local/

使用cp命令拷贝文件夹到安装目录下

3.进入到安装目录并赋予权限

  使用cd命令进入到安装目录,如果上一步读者改了自己的目录,这一步请注意替换成自己的。

cd /usr/local/gamit_10_7/
sudo chmod -R 755 .

进入到安装目录并赋予权限

4.安装编译gamit

  直接执行文件夹下的install_software文件来编译gamit,一路y即可。编译时间大概需要三四分钟甚至更久?哈哈哈哈。

  需要注意的是,如果读者上一步没有更改目录权限,这一步的install_software可能是没有执行权限的。

sudo ./install_software

sudo ./install_software

对于ubuntu22.04而言,可能会遇到如下报错(ubuntu20.04没有该报错):

ubuntu22.04回报错

  需要修改一下Makefile.config文件中的OS_ID Linux后面的值为给出的报错值,笔者这里是6804。

  1. 使用管理员权限打开./gamit/Makefile.config文件
sudo gedit ./gamit/Makefile.config

管理员权限打开Makefile.config文件

  1. 使用快捷键Ctrl+F查找OS_ID Linux,修改其值为命令行报错提示的值

更改OS_ID Linux的值

  1. 更改完之后,使用快捷键Ctrl+S保存更改,随后可以关闭gedit编辑窗口,重新执行sudo ./install_software

编译成功

5.添加环境变量

  根据安装成功的提示,添加环境变量。

编译后的打印提示

  笔者使用的是ubuntu22.04,终端是bash,编辑~/.bashrc文件即可。

  1. 打开~/.bashrc文件
sudo gedit ~/.bashrc
  1. 按照打印提示添加环境变量

  在合适位置添加下面代码:

# gamit
export PATH="/usr/local/gamit_10_7/com:/usr/local/gamit_10_7/gamit/bin:/usr/local/gamit_10_7/kf/bin:$PATH"
export HELP_DIR="/usr/local/gamit_10_7/help"

按照打印提示添加环境变量

  1. 修改完成后记得保存一下再关闭gedit窗口

  2. 刷新终端配置

  对于.bashrc文件的更改,不能及时的更新当前打开的终端配置,使用如下命令更新。

source ~/.bashrc

刷新终端配置

6.测试是否安装成功

  使用如下命令测试是否安装成功

doy
sh_gamit

doy命令结果

sh_gamit命令结果

🌹结语

  1. 笔者已将软件包上传至百度网盘,关注公众号回复关键字“240919”即可获取百度网盘链接~

  2. 安装遇到任何问题欢迎关注公众号私信与作者交流讨论

  3. GAMIT官方的安装教程(http://geoweb.mit.edu/gg/pre.php)

  4. 笔者为测绘遥感方向的学习者,愿意结交志同道合的伙伴,欢迎关注公众号与笔者一起交流学习~


  • 路虽远,行则将至;事虽难,做则必成。希望认真学习的你能够有所收获~

  • 本公众号的原创成果,在未经允许的情况下,请勿用于任何商业用途!

  • 如果本文有幸可以帮到您,欢迎您的点赞👍、收藏⭐与关注❤;您的点赞👍、收藏⭐与关注❤是我创作的最大动力~


微信公众号

CSDN博客二维码


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/54629.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java使用Map数据结构配合函数式接口存储方法引用

Java使用Map数据结构配合函数式接口存储方法引用 背景 需求中存在这样一直情况 一个国家下面有很多的州 每个州对应的计算日期方法是不同的 这个时候 就面临 可能会有很多if else 为了后期维护尽量还是不想采用这个方式,那么就可以使用策略模式 但是 使用策略带来的…

【论文笔记】Are Large Kernels Better Teacheres than Transformers for ConvNets

Abstract 本文提出蒸馏中小核ConvNet做学生时,与Transformer相比,大核ConvNet因其高效的卷积操作和紧凑的权重共享,使得其做教师效果更好,更适合资源受限的应用。 用蒸馏从Transformers蒸到小核ConvNet的效果并不好,原…

MySQL篇(存储过程 触发器 存储函数)(持续更新迭代)

目录 一、存储过程 1. 简介 2. 特点 3. 语法 3.1. 创建 3.2. 调用 3.3. 查看 3.4. 删除 4. 示例 二、变量 1. 简介 2. 系统变量 2.1. 查看系统变量 2.2. 设置系统变量 2.3. 演示示例 3. 用户定义变量 3.1. 赋值 方式一 方式二 3.2. 使用 3.3. 演示示例 4.…

富文本编辑器wangEdittor使用入门

一、wangEdittor介绍 富文本编辑器为开源产品wangEditor。wangEditor是一款轻量级Web富文本编辑器,配置方便,使用简单。读者可在其官网和GitHub仓库进行更多了解。主要有以下功能: 1)图文混排 wangEditor可以编辑的内容比较丰富…

Rust - 字符串:str 与 String

在其他语言中,字符串通常都会比较简单,例如 “hello, world” 就是字符串章节的几乎全部内容了。 但是Rust中的字符串与其他语言有所不同,若带着其他语言的习惯来学习Rust字符串,将会波折不断。 所以最好先忘记脑中已有的关于字…

华为---代理ARP简介及示例配置

目录 1. 概念 2. 前提条件 3. 使用环境 4. 工作过程 5. 优点 6. 缺点 7. 示例配置 7.1 示例场景 7.2基本配置 7.3 配置端口隔离 7.4 开启代理ARP 7.4.1 VLAN内代理ARP 7.4.2 VLAN间代理ARP 7.4.3路由式ARP代理 1. 概念 代理ARP(Proxy ARP)&…

C#使用实体类Entity Framework Core操作mysql入门:从数据库反向生成模型

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

matlab恢复默认窗口布局

1.点击主页,选择布局 2.选择默认,即可恢复到默认的窗口布局

LIN总线CAPL函数—— 设置LIN报文字节间隔长度(linSetInterByteSpace)

🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe&…

利士策分享,如何培养良好的工作习惯?

利士策分享,如何培养良好的工作习惯? 在这个快节奏、高压力的职场环境中,培养良好的工作习惯不仅关乎个人职业发展的顺畅度, 更是提升工作效率、保持身心健康的关键。 以下是一些实用的建议,帮助你在日常工作中逐步构…

大语言模型量化方法GPTQ、GGUF、AWQ详细原理

大语言模型量化的目的是减少模型的计算资源需求和存储占用,同时尽量保持模型的性能。以下是几种常见的量化方法的原理; 1. GPTQ (Gradient-based Post-training Quantization) GPTQ 是一种基于梯度的后训练量化方法,主要目的是在减少浮点计…

macOS 系统中python的安装步骤

访问Python官网: 打开浏览器,访问Python的官方网站(https://www.python.org/)。 下载Python安装包: 在官网首页找到“Downloads”链接,点击进入下载页面。选择适用于macOS的安装包。在撰写本文时&#xff…

智慧水利采砂船在线监控平台:构建高效、智能的河道采砂监管体系

随着科技的不断发展,水利行业的智慧化转型也日益受到重视。智慧水利采砂船在线监控平台便是这一转型的重要成果之一。该平台主要服务于水政执法人员,针对取得河道采砂许可证的采砂公司及采砂船,实施在线自动监控,旨在提高监管效率…

Ubuntu USB设置别名

在 Ubuntu 中,可以通过创建 udev 规则为 USB 设备设置别名。这样你可以通过自定义的别名访问设备,而不是使用随机分配的设备节点(例如 /dev/ttyUSB0)。 1. 确认设备信息 首先,你需要找到设备的相关信息&#xff08…

linux 内存屏障(barrier)分析

谈起内存屏障,大家感觉这个"玩意儿"很虚,不太实际,但是内核代码中又广泛地可以看到起身影。内存屏障,英文barrier,这个"玩意儿"它还不太好去定义它。barrier,中文翻译为栅栏,栅栏大家都见过,现实生活中就是防止他人或者动物非法闯入而用来进行隔…

iptables限制网速

1、使用hashlimit来限速 #从eth0网卡进入INPUT链数据,使用模块hashlimit 限制网速为100kb/s或2mb/s,超过限制的数据包会被DROP。OUTPUT链同理,mode为srcip,有4个mode选项: srcip(默认匹配每个源地址IP,配置指定源地址…

【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【上篇】

【STM32开发笔记】移植AI框架TensorFlow【上篇】 一、TFLM是什么?二、TFLM开源项目2.1 下载TFLM源代码2.2 TFLM基准测试说明2.3 TFLM基准测试命令 三、TFLM初步体验3.1 PC上运行Keyword基准测试3.2 PC上运行Person detection基准测试3.3 No module named numpy问题解…

保障电气安全的电气火灾监控系统主要组成有哪些?

电气火灾是什么? 电气火灾一般是指由于电气线路、用电设备、器具以及供配电设备出现故障性释放的热能:如高温、电弧、电火花以及非故障性释放的能量;如电热器具的炽热表面,在具备燃烧条件下引燃本体或其他可燃物而造成的火灾&…

递归基础训练-路径总和

路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 我们可以把之前的…

docker在基础镜像上,比如rockylinux,如何配置yum仓库

在基础镜像rockylinux上 启动的容器,没有yum仓库,就执行不了一些命令 ~]docker run -itd --name linux rockylinux:8.5~]# docker exec -it linux bash /]# ifconfig bash: ifconfig: command not found/]# vim bash: vim: command not found …