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

news2024/9/24 15:39:42

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


  手把手带您安装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.coloradmin.cn/o/2160722.html

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

相关文章

Web端云剪辑解决方案,智能字幕,精准识别语音字幕,一键上轨编辑

无论是企业宣传、个人Vlog、在线教育还是直播带货,高质量的视频内容都是吸引眼球、传递价值的关键。然而,面对繁琐的剪辑流程、高昂的时间成本以及技术门槛,许多创作者往往望而却步。正是洞察到这一市场需求,美摄科技携其创新的We…

解锁MySQL升级秘诀:提升性能、增强安全的必备指南

随着mysql不断演进,旧的版本不断地会发现新的漏洞,为修复漏洞体验新版本的功能,就需要对数据库进行升级操作。 升级注意点 备份!备份!备份! 1.从5.6升级到5.7需首先升级到5.6最新版;不支持跨…

消息中间件常见面试题(RabbitMQ)

MQ场景: 异步发送(验证码、短信、邮件)MySQL、Redis、ES之间的数据同步分布式事务等 一、RabbitMQ 1.1 消息不丢失 提问:如果保证消息不丢失呢? 流程:生产者将消息发送给交换机,交换机发送给…

css实现类似歌词字体渐变的效果

1、HTML <view class"title">哈哈哈哈哈</view> 2、CSS animation: hue 6s infinite linear;background-image: linear-gradient(135deg, #fc00c7 0%, #1c4efd 54%, #00aded 100%);-webkit-text-fill-color: transparent;color: transparent;-webkit-ba…

【**倒计时,人工智能的ASI时代几年内将至-samaltman深夜发文预言**】

在未来的几十年里&#xff0c;我们将能够做到我们的祖辈认为像魔术一样的事情。 这是Sama Ltman博文的第一句话。技术进步加速&#xff1a;随着时间的推移&#xff0c;人类的能力显著提高&#xff0c;我们能够完成前人认为不可能的事情。他认为&#xff1a; 我们的能力增强不…

Spring 核心

Spring 核心 这篇文章&#xff0c;我们换个思路来学习&#xff0c;来践行一下以始为终&#xff0c;以面试题为引来重温一下Spring&#xff0c;毕竟孔子曾说&#xff0c;“温故而知新&#xff0c;可以为师矣。” &#xff0c;可以通过这个链接看看有哪些常见的面试题 Spring 面…

【深度学习】03-神经网络2-1损失函数

在神经网络中&#xff0c;不同任务类型&#xff08;如多分类、二分类、回归&#xff09;需要使用不同的损失函数来衡量模型预测和真实值之间的差异。选择合适的损失函数对于模型的性能至关重要。 这里的是API 的注意⚠️&#xff0c;但是在真实的公式中&#xff0c;目标值一定是…

第二证券:a股创业板科创板是什么意思?各自代码是什么?

a股创业板科创板是什么意思&#xff1f; a股是指人民币一般股票的总称&#xff0c;其发行公司是在我国境内注册的&#xff0c;a股在境内发行并以人民币计价&#xff0c;a股的投资者首要是境内安排、安排或个人&#xff0c;也包括合格的境外安排投资者。 创业板是股票商场的一…

睡眠监测系统基于边缘计算和微服务缓存

这篇论文的主要内容是关于基于边缘计算和微服务缓存的睡眠监测系统。以下是详细内容概述&#xff1a; 标题 睡眠监测系统基于边缘计算和微服务缓存 作者 Nico Surantha - 东京市立大学&#xff0c;日本David Jayaatmaja - 雅加达Bina Nusantara大学&#xff0c;印度尼西亚S…

项目管理软件应具备哪些功能?分享一款功能齐全的项目管理工具

项目管理软件是一类专门设计用于规划、执行和监控项目的工具。它提供了一种集中管理和协调项目活动的方式&#xff0c;有助于提升项目的效率和成功率。本文将介绍项目管理软件的九大基本功能是什么&#xff0c;以及分享一款功能齐全的项目管理软件供大家参考。 一、项目计划与…

CANopen开源库canfestival的移植

本文记录将CANopen开源库CANfestival移植到GD32F470单片机的过程。CANopen协议理解请参考博客&#xff1a;CANopen协议的理解-CSDN博客 CANfestival开源库下载链接 CSDN链接&#xff1a; https://download.csdn.net/download/heqiunong/89774627 官网链接&#xff1a;https:/…

2024年主动降噪头戴式耳机该如何选择?四款品牌高性价比推荐

今天与大家聊一聊头戴式降噪蓝牙耳机。无论是沉浸在游戏的世界中&#xff0c;还是专注于观看视频课程汲取知识&#xff0c;它都能为我带来清晰、震撼的音质体验。对程序员来说&#xff0c;在嘈杂的工作环境中&#xff08;比如机房里&#xff09;&#xff0c;头戴式耳机都能让我…

Linux shell编程学习笔记83:time命令——争分夺秒

0 引言 在DOS或Windows中&#xff0c;我们可以使用time命令来查看或修改系统时间。 但是在Linux中&#xff0c;time命令的功能却与DOS或Windows迥然不同。 1 time命令 的功能、帮助信息、命令格式和参数说明 1.1 time命令 的功能 在Linux&#xff0c;time命令的功能是测量…

鸿蒙 OS 开发单词打卡 APP 项目实战 20240922 笔记和源码分享

配套有完整的录播课, 需要的私信. 零基础入门级别, 有点前端基础都能学会. 效果截图: 代码截图: 页面完整代码: import { AnswerStatus } from ../enums/AnswerStatus import { PracticeStatus } from ../enums/PracticeStatus import { getRandomQuestions, Question …

江协科技STM32学习- P17 TIM输入捕获

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

【C++篇】探寻C++ STL之美:从string类的基础到高级操作的全面解析

文章目录 C string 类详解&#xff1a;从入门到精通前言第一章&#xff1a;C 语言中的字符串 vs C string 类1.1 C 语言中的字符串1.2 C string 类的优势 第二章&#xff1a;string 类的构造与基础操作2.1 string 类的构造方法2.1.1 示例代码&#xff1a;构造字符串 2.2 string…

Kotlin 多种形式的 when 表达式(七)

导读大纲 1.0.1 在变量中捕捉 when 表达式1.0.2 对任意对象使用 when 表达式1.0.3 使用不带参数的 when 表达式 when 表达式专题系列 从枚举类引出 when 表达式 1.0.1 在变量中捕捉 when 表达式 在前面的示例中,when 表达式的评估值是color变量 它是通过调用 measureColor() …

pip的安装和使用

pip的安装和使用 1、 pip 是一个现代的&#xff0c;通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。便于我们对Python的资源包进行管理。 2、注&#xff1a;pip 已内置于 Python 3.4 和 2.7 及以上版本&#xff0c;其他版本需另行安装。 3、在安…

java并发工具包JUC(Java Util Concurrent)

1. 什么是JUC 1.1 JUC简介 JUC&#xff08;Java Util Concurrent&#xff09;是Java中的一个并发工具包&#xff0c;提供了一系列用于多线程编程的类和接口&#xff0c;旨在简化并发编程并提高其效率和可维护性。JUC库包含了许多强大的工具和机制&#xff0c;用于线程管理、同…

多比特AI事业部VP程伟光受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 武汉市多比特信息科技有限公司AI事业部VP程伟光先生受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾&#xff0c;演讲议题为“AI对于项目经理工作的影响和变化解析”。大会将于10月26-27日在北京举办&am…