Ubuntu22.04地震数据处理软件Madagascar安装

这篇具有很好参考价值的文章主要介绍了Ubuntu22.04地震数据处理软件Madagascar安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言的前言

考虑到该平台每况愈下的博客环境,我将这篇文章转移到了cplusv的个人博客,目前内容在CSDN平台上依旧保留,但可能在未来某个时间我会将这个平台上的内容撤下。
Ubuntu22.04地震数据处理软件Madagascar安装

前言

Madagascar 是一款开源的地震数据处理软件,其不仅提供了地震数据处理所需要的各类软件包,还为数据处理提供了有力的编程环境。更多关于Madagascar 的介绍和使用方法,可以参考官方wiki页面:
Madagascar Main Page(ahay.org)
下面是摘自官方wiki介绍:

Madagascar is an open-source software package for multidimensional data analysis and reproducible computational experiments. Its mission is to provide:

  1. a convenient and powerful environment
  2. a convenient technology transfer tool

for researchers working with digital image and data processing in geophysics and related fields. Technology developed using the Madagascar project management system is transferred in the form of recorded processing histories, which become “computational recipes” to be verified, exchanged, and modified by users of the system.

下面是Prof. Yang Liu 在Madagascar School on Open-Source Geophysics in Hefei 2020*为Madagascar做的介绍PPT:
Introduction to Madagascar Software Project - Yang Liu
Ubuntu22.04地震数据处理软件Madagascar安装

Madagascar软件github页面:https://github.com/ahay/src,你可以在这里找到软件的最新release。如果你的网络访问github存在问题,可以考虑使用gitee,具体使用方法此处不展开,放上一个gitee搜索页面:Gitee搜索:Madagascar。

*注:不定期会有Madagascar相关的活动在高校之间举办,可以参考Madagascar Conferences页面寻找更多信息。

安装之前的准备

系统版本:Ubuntu22.04

这里使用Ubuntu版本为22.04,不同的操作系统版本可能存在细微的差别,下面的教程可以提供一个参考,同时,不同Linux发行版本的安装教程可以参考官方提供的安装教程Madagascar Installation和Madagascar Advanced Installation(针对不同Linux发行版本),我在去年写过一篇Windows下Ubuntu WSL环境的Madagascar安装教程,有需求也可以参考Windows11/10 环境下安装Madagascar (WSL Ubuntu)。

如果你使用的是Vmware虚拟机,你需要提前安装好操作系统。关于Ubuntu-22.04操作系统的安装(包括虚拟机安装)网上有许多详尽的教程,此处不做赘述。

建议的软件目录

如果你精通linux或者对其有一定的了解,这一步可以略过。
在下载软件源文件之前,建议提前规划好软件的源文件存放目录和软件安装目录,由于Linux存在用户权限的问题,建议将软件所有文件放在用户目录下,以免产生不必要的麻烦。如果你对linux的使用并不熟悉,请使用下面给出的推荐的软件源文件和软件安装目录:/home/用户名/Madagascar/,或者相对目录~/Madagascar/:

/home/用户名/Madagascar/
├── RSFSRC
│   ├── 这里存放Madagascar软件的源文件
├── RSFROOT
│   ├── 这里为Madagascar软件(使用configure prefix参数设置,下文会讲到)

如下图所示,源文件RSFSRC和软件目录RSFROOT均存放在用户文件夹的Madagascar目录下:
Ubuntu22.04地震数据处理软件Madagascar安装

软件下载

你需要提前准备好Madagascar源文件,推荐使用如下命令(包含了构建和进入推荐的目录文件夹):

#构建和进入目录
cd ~ & mkdir madagascar 
cd madagascar
#使用git命令clone源文件
git clone https://github.com/ahay/src RSFSRC

等待git命令clone结束即可进入下一步。如果git命令提示无法访问(经常会出现的问题)可以多尝试几次,也可以考虑使用gitee,相关的教程网上有很多也很详细,此处不再赘述。
还可以通过github下载压缩包,解压到对应的RSFSRC目录下(/home/用户名/madagascar/RSFSRC/):https://github.com/ahay/src

Ubuntu22.04地震数据处理软件Madagascar安装

环境(依赖库)安装(重要)

环境安装是Madagascar安装中最重要也是最容易忽略的一环,这一步关乎Madagascar中许多模块是否能够正确安装启用。注意:除了安装依赖库以外(该用sudo的时候会提到),请不要使用root用户或者管理员权限(sudo)。
首先进入克隆或者下载好的源文件目录(如果在上一步的软件下载中你没有按照推荐的目录下载或克隆,请使用你自己下载的目录而并非下面给出的目录,后面许多步骤也一样,读者请自行进行替换)。使用configure进行配置,prefix参数指定安装文件夹,如果你对linux使用不是很熟悉,建议使用下面的目录。

#进入目录
cd ~/madagascar/RSFSRC
#使用configure查看环境(prefix=后面是你想安装Madagascar的位置,建议使用下面的目录)
./configure --prefix=~/madagascar/RSFROOT

一般来说,直接使用configure会出现错误,而且这个报错信息会比较迷惑,如下图所示。参考下面的步骤可以解决这个问题。
Ubuntu22.04地震数据处理软件Madagascar安装

首先,Ubuntu22.04虽然自带Python3.10,但是无法直接使用python命令,而只能使用python3命令。所以我们首先给python创建一个软链接(其实是复制) 所以我们使用Ubuntu的APT来配置python3环境sudo apt install python-is-python3:

#查看python命令是否合法
which python
#一般来说(如果是刚刚安装好的ubuntu22.04系统),这个命令没有输出
#或者使用下面的命令,一般来说会提示找不到命令“python”:
python --version
#如果没有出现“找不到命令'python'”,而是输出了对应的3.10版本号的话,下面这一步可以跳过
## 我一开始没有意识到复制这个操作是比较不好的
#需要管理员权限(sudo)
######### 最好不要这样: sudo cp /usr/bin/python3 /usr/bin/python
# Ubuntu 有自带的配置Python3的方法:
sudo apt install python-is-python3

注:如果你有更完善的python环境配置(例如anaconda),这一步请注意自行调整。
创建完python3到python的软连接之后,再使用which python或者python --version命令的话应该是有输出的,如下图所示:
Ubuntu22.04地震数据处理软件Madagascar安装
建立完软连接之后,再使用configure依旧会报错,如下图所示,不过这个报错提示比较有针对性:没有安装pip。

#第二次configure
./configure --prefix=~/madagascar/RSFROOT

Ubuntu22.04地震数据处理软件Madagascar安装
包括pip在内的其他依赖库可以参考官方页面的依赖库安装教程Madagascar Advanced Installation解决,下面给出Ubuntu22.04版本的解决方案(依然是参考官方的教程)。

#安装python pip 和必要的numpy包
sudo apt-get install pip
#虽然不推荐使用sudo安装numpy,但是只有这样才能在软件configure的时候识别到。
#使用sudo安装一般会有如下WARNING:
#WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
sudo python -m pip install numpy
#安装有关依赖(必要)
sudo apt install python3 python-is-python3 python3-dev python-dev-is-python3 python3-pip \
python3-numpy libxaw7-dev 
##########################################################################################
#安装有关依赖(可选项)
sudo apt install python3 python-is-python3 python3-dev python-dev-is-python3 python3-pip \
python3-numpy libxaw7-dev freeglut3-dev libnetpbm10-dev libgd-dev libplplot-dev \
libcairo2-dev libjpeg-dev swig g++ gfortran libopenmpi-dev libfftw3-dev \
libavcodec-dev libsuitesparse-dev git

上面的安装结束之后,再使用configure便可以合理的输出了。当然,可以再对各项输出进行检验。例如,如果你的电脑有支持cuda的显卡并且有意使用的话,可以在进行下一步的安装之前将cuda环境配置好,由于这一部分并不通用且网上相应的教程也很多也比较详细,此处不多赘述。

注意:如果你的系统下安装了cuda(nvcc --version可查看cuda版本),最好确认其版本不过高,目前已知cuda-12.0在下面的make过程会报错而cuda-11.0不会,如果你在make过程中遇到了与cuda相关的(编译器为nvcc而不是gcc)问题,可以考虑降低系统的cuda版本。

#第三次configure
./configure --prefix=~/madagascar/RSFROOT

按理来说,输出应该是下面这样:

checking for Python ... /usr/bin/python
checking Python version ... 3.10.4
checking for RSFROOT ... ~/madagascar/RSFROOT
checking for SCons ... /usr/bin/scons
checking SCons version ... v4.0.1.c289977f8b34786ab6c334311e232886da7e8df1
Running RSFROOT=~/madagascar/RSFROOT /usr/bin/scons  config ...
------------------------
scons: Reading SConscript files ...
checking platform ... (cached) linux [ubuntu]
checking for C compiler ... (cached) gcc
checking if gcc works ... yes
checking if gcc accepts '-x c -std=gnu17 -Wall -pedantic' ... yes
checking for ar ... (cached) ar
checking for rpc ... no
checking complex support ... yes
checking for X11 headers ... /usr/include
checking for X11 libraries ... /usr/lib/X11
checking for OpenGL ... yes
checking for sfpen ... (cached) xtpen
checking for ppm ... yes
checking for tiff ... yes
checking for GD (PNG) ... yes
checking for GD (GIF) ... yes
checking for plplot ... yes
checking for ffmpeg ... yes
checking for cairo (PNG) ... yes
checking for cairo (SVG) ... yes
checking for cairo (PDF) ... yes
checking for jpeg ... yes
checking for BLAS ... yes
checking for LAPACK ... yes
checking for SWIG ... (cached) /usr/bin/swig
checking for numpy ... (cached) yes
checking API options ... (cached) []
checking for C++ compiler ... (cached) g++
checking if g++ works ... yes
checking if g++ accepts '-std=gnu++17 -U__STRICT_ANSI__ -Wall -pedantic' ... yes
checking for MPICC ... (cached) /usr/bin/mpicc
checking if /usr/bin/mpicc works ... yes
checking for MPICXX ... (cached) /usr/bin/mpicxx
checking if /usr/bin/mpicxx works ... yes
checking for MPIRUN ... (cached) /usr/bin/mpirun
checking for Posix threads ... yes
checking for OpenMP ... yes
checking for CUDA ... (cached) no
checking for FFTW ... yes
checking if FFTW supports threads ... yes
checking for SuiteSparse ... yes
checking for pfft ... no
scons: done reading SConscript files.
scons: Building targets ...
shell_script(["env.sh"], [])
shell_script(["env.csh"], [])
scons: done building targets.
------------------------
Done with configuration.

参考上面的输出,如果你和上面所展示的一样,大部分需要的条目都是’yes’,便可以继续下一步的安装。

编译和安装

在configure没有问题之后,便可以开始编译和安装。只需要一个简单的make命令(当然,可能会有点慢,可以使用scons -j来加快编译速度):

#以防万一(如果你在这个目录下,可以忽略这个cd命令)。
#当然,如果你自定了源文件目录,请使用你的自定目录。
cd ~/madagascar/RSFSRC
#编译和安装
make && make install
# 或者使用
# scons -j 4 && make install
# 如果你的处理器支持更多线程,这个4可以换成更大的数字

由于相关的源文件比较多,编译时间通常会比较长。编译结束之后,你会看到如下图所示的输出(就是在提示你已经编译安装完成要配置环境变量)。接下来便可以进行环境变量的配置。
Ubuntu22.04地震数据处理软件Madagascar安装

---------------------------------------------------------
To start using madagascar, source env.sh or env.csh from:
    /home/用户名/madagascar/RSFROOT/share/madagascar/etc/
Local documentation center at:
    /home/用户名/madagascar/RSFROOT/share/doc/madagascar/
Documentation wiki at http://www.ahay.org
---------------------------------------------------------

环境变量配置

最后一步,配置环境变量。参考上面的提示,打开你的终端配置文件 ~/.bashrc。Ubuntu22.04默认的终端是bash,所以这里用 ~/.bashrc做参考。当然,如果你在使用其他的shell如zsh等,打开相应的配置文件即可。
如果你使用的带有图形界面的Ubuntu,你可以使用Ubuntu自带的gedit打开:

gedit ~/.bashrc

当然,你也可以使用vim(Ubuntu22.04应该是不自带vim的)或者其他文本编辑软件。
然后使用图形界面进行文本编辑。在文件的最后追加一行:

#下面使用的是上面推荐的RSFROOT的目录地址,如果你在安装时自定了安装目录,请使用你的自定安装目录
source ~/madagascar/RSFROOT/share/madagascar/etc/env.sh

你甚至可以用echo命令完成上面的步骤:

#下面使用的是上面推荐的RSFROOT的目录地址,如果你在安装时自定了安装目录,请使用你的自定安装目录
echo 'source ~/madagascar/RSFROOT/share/madagascar/etc/env.sh' >> ~/.bashrc

Ubuntu22.04地震数据处理软件Madagascar安装

安装结束

环境配置结束之后,你便完成了Madagascar的安装工作。打开一个新的终端,或者在旧的终端使用source ~/.bashrc 命令,你便可以调用Madagascar相关的软件模块了。以sfin为例:

sfin

会输出对应的模块说明文档(键入q可以退出该页面):
Ubuntu22.04地震数据处理软件Madagascar安装
你可以使用下面的命令查看图像输出:

sfspike n1=1000 k1=300 | sfbandpass fhi=2 phase=y | \
sfwiggle clip=0.02 title="Welcome to Madagascar" | sfpen

其输出应该为:
Ubuntu22.04地震数据处理软件Madagascar安装

结语

Madagascar是一款强大的开源数据处理软件,不仅仅限制于地震数据处理,其多样的软件模块为包括地震数据处理和图像处理在内的许多问题的解决提供了很好的软件环境。更多的Madagascar使用方法和教程可以参考官方网站Madagascar Main Page(ahay.org)。不定期会有相应的会议或者教学活动举办,可以关注Madagascar Conferences,还可以关注开发者博客。以上这些内容在Main Page里面都可以找到。后续还会有更多更丰富的内容,尽情期待!

安装过程可能遇到的问题

我的邮箱:cplusv_official@qq.com

1.epydoc

2023年1月4日更新:
Ubuntu22.04地震数据处理软件Madagascar安装
由于系统中存在python2.x版本的epydoc,导致在make过程中使用的基于python3的scons和python2的语法不兼容而报错,
解决方法:
使用sudo pip uninstall epydoc移除epydoc

2.Make过程中的_byte2tif.c编译错误(2023年4月1日版本)(后续已修复)

2023年4月8日2e4cf60已修复
由于当前版本的Madagascar存在bug,导致在make&make install这一步中会出现如下错误:

$ gcc -o build/user/fomels/sfbyte2tif -pthread -fopemp build/user/fonels/_byte2tif.o -lbuild/lib -lrsf -ln -lblas -llapack -lblas -lgonmp-lfftw3f -lfftw3 -lfftw3f_threads -lfftw3_threads -ltiff 
/usr/bin/ld: build/user/fomels/_byte2tif.o: in function 'main' :
_byte2tif.c: (.text.startup+0x109): undefined reference to 'write_JPEG_file'
collect2 : error: ld returned 1 exit status

可以参考Github这篇issue:
[BUG] Fatal error while gcc building src/user/fomel/_byte2tif.c (A immature solution is suggested.) #287
解决方法(2种):

  1. 下载前一个稳定版本的Madagascar进行安装。
  2. 如果采用当前版本,进入源文件目录下的user/fomel/(如果你按照我的推荐方案来的话应该是/home/你的用户名/madagascar/RSFSRC/user/fomel/),打开该目录下的SConstruct文件,将其种的第129行的:
    prog = env.Program('sf'+conv,'_%s.c' % conv,LIBS=libs+[tiff])

       改成:

    prog = env.Program('sf'+conv,['_%s.c' % conv,jpeg_o] ,LIBS=libs+[tiff]+[jpeg])

       即可正常make & make install。文章来源地址https://www.toymoban.com/news/detail-420679.html

到了这里,关于Ubuntu22.04地震数据处理软件Madagascar安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于Ubuntu22.04无法定位软件包

    声明:本文章目的是为了记录个人学习 https://blog.csdn.net/LvzJason/article/details/122649941 有以下三个原因: 当前镜像源中的软件版本较低 当前镜像源中不存在我们需要安装的软件 镜像源连接超时 从以上可以看出来这个问题几乎都是和镜像源有关,也就是说我们的软件安装和镜像

    2024年02月06日
    浏览(66)
  • ubuntu22.04 安装优化(主题,软件,换源,插件扩展)

    1、对于使用VM安装,这里就不再多说了 2、对于用系统安装,可以在网上招一部分资料 1、这是ubuntu的官方主题网址 2、这里想要说的是,其中的部分结构说明,比如我们准备安装主题 Orchis gtk theme ,我们点击进去,如下 2、我们可以不管其他的附带功能,比如当前主题需要的

    2024年02月06日
    浏览(68)
  • Ubuntu22.04安装、配置、美化、软件安装、配置开发环境

    因为ubuntu的安装网上的教程特别多了,所以这里不做赘述,推荐使用小破站这个up主的教程:Windows 和 Ubuntu 双系统从安装到卸载_哔哩哔哩_bilibili (1)打开软件和更新 (2)在 “ 下载自 ” 中选择 “ 其他 ”  选中 中科大镜像源 (也可选择阿里源,清华源,这里以中科大源

    2024年02月01日
    浏览(54)
  • ubuntu22.04下rv1109 rootfs编译问题处理

    出于对Ubuntu新版本系统的体验,将系统更新到了ubuntu22.04了。然后在编译rv1109 sdk时出现了一些异常的错误。但是已经不回去了,只能硬着头皮一路走下去了。并将错误记录以下,以便下次有类似错误,做个参考。 buildroot 报错:c-stack.c:55:26:error:missing binary operator before token “

    2024年02月11日
    浏览(40)
  • Ubuntu18.04/20.04/22.04的Apollo8.0软件包安装(免编译)

    本文主要介绍在如何使用软件包(即 deb 包)的方式来安装 Apollo,相对于源码方式安装,软件包安装方式不需要编译,更加快捷。但是对环境的支持比较单一,如果在自定义环境内安装,请移步源码安装方式 1. 安装 Ubuntu Linux 安装 Ubuntu 18.04+ 的步骤,参见 官方安装指南。 完

    2024年02月05日
    浏览(65)
  • Atom N2600, N2800 安装 Ubuntu22.04 卡住的问题处理

    Atom N2600, N2800 的某些旧型号机器, 安装 Ubuntu 时在安装界面选择安装后, 启动过程中会卡住, 或者数秒即黑屏, 再无反应. 这个问题对于Debian系的其他发行版 Lubuntu, Linux Mint, Debian 都一样, 但是用Win PE盘可以正常启动. 经各种尝试, 最终发现是ACPI相关的问题. 解决的方法是在启动中

    2024年02月16日
    浏览(51)
  • ubuntu22.04 开机挂载硬盘,数据分区没有“写”权限

    场景:用管理员账户 A来安装,安装后,再增加一个管理员账户 B。 问题:以管理员账户 B来启动,系统盘和数据盘在一块硬盘上,安装时的默认挂载,出现数据盘只有读、没有写的权限。 原因:应该是 Bug ? 解决: 方案1、修改 fstab,将数据分区手动挂载到一个可写的目录上

    2024年01月22日
    浏览(58)
  • ubuntu 22.04 apt-get 安装软件报错:Temporary failure resolving ‘cn.archive.ubuntu.com‘

    Err:1 http://cn.archive.ubuntu.com/ubuntu jammy/main amd64 libtcl8.6 amd64 8.6.12+dfsg-1build1 Temporary failure resolving ‘cn.archive.ubuntu.com’ Err:2 http://cn.archive.ubuntu.com/ubuntu jammy/main amd64 tcl8.6 amd64 8.6.12+dfsg-1build1 Temporary failure resolving ‘cn.archive.ubuntu.com’ Err:3 http://cn.archive.ubuntu.com/ubuntu jammy/universe amd6

    2024年04月10日
    浏览(65)
  • Ubuntu 22.04 LTS 解决 libc6-dev 缺少依赖 E: 软件包冲突的问题

    昨天装verilator,但是执行 的时候,总是报错,libc6-dev 这个库必须依赖 libc6 这个库,但是只支持 libc6_2.35-0ubuntu3版本,而我的电脑已经装上了 2.35-0ubuntu3.1 这个版本,于是执行 这个命令指定了安装的版本,从而实现了版本降级,之后再次安装 g++ 就能成功安装,如果是其他版本

    2024年02月13日
    浏览(91)
  • ubuntu 22.04源

    首先备份一下原来的sources.list 然后修改sources.list 然后根据你的版本将sources.list中的内容换成相应的内容 Ubuntu 22.04 LTS 阿里源 ubuntu 22.04 清华源 ubuntu 22.04 中科大源 ubuntu 22.04 163源 最后更新一下

    2024年02月12日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包