请务必按步骤操作,否则会引发很多额外问题!解决方案移步大标题四。

一、前期准备工作

1.装好的Ubuntu 22.04(或其他版本)可正常联网

2.下载好的su安装压缩包,没有的去下面下载下来,注意选择自己对应的版本SU官方压缩包下载 - Nextcloudhttps://nextcloud.seismic-unix.org/s/LZpzc8jMzbWG9BZ

3.共享文件夹/VMware Tools或者可以把主机文件放入虚拟机的任何方法

二、SU安装步骤

1.更新源,为后续下载做准备

sudo apt-get update

2.安装必要的依赖,以便后续使用

直接一次性装全,遇到y/n选择就选y,会用命令的看官直接在后面-y也行

sudo apt-get install build-essential 
sudo apt-get install libx11-dev 
sudo apt-get install libxt-dev 
sudo apt-get install freeglut3 
sudo apt-get install freeglut3-dev 
sudo apt-get install libxmu-dev 
sudo apt-get install libxi-dev 
sudo apt-get install gfortran 
sudo apt-get install csh 
sudo apt-get install xorg
sudo apt-get install gcc
sudo apt-get install libxext-dev
sudo apt-get install make
sudo apt-get install libmotif-dev
sudo apt-get install libtirpc-dev
sudo apt-get install vim

遇到选项一路y就行了,全都装完,系统是正常的话不会出现报错

3.找个地方放置SU安装压缩包并解压

在home路径下建一个安装文件夹,自己命名,比如su:

cd
mkdir su

接下来将压缩包放到su文件夹中,笔者使用的共享文件夹

cp cwp_su_all_44R22.tgz ~/su
cd ~/su
ls

解压这个包,解压后会出现src文件夹

tar -zxvf cwp_su_all_44R22.tgz

4.添加环境变量(非常重要!)

进入home目录,滑到最后添加环境变量,这样之后才能正常使用软件命令

cd
vim .bashrc

在文件的末尾添加以下内容,切记把“youname”换成你自己的用户名,不确定的用pwd命令看一看

export CWPROOT=/home/yourname/su
export PATH=$PATH:/home/yourname/su/bin

vim编辑器按进入编辑模式

编辑完成后按esc进入命令模式,输入 :wq  ,回车即可

出来之后source一下使其生效,并可以检查是否设置成功
 

source .bashrc
echo $CWPROOT
echo $PATH

5.替换并修改Makefile.config文件

将/src/configs下的Makefile.config_Linux_Ubuntu文件拷贝到/src目录下,覆盖原来的Makefile.config,其他系统的看官选择自己对应的系统名即可(可以解决大部分问题!)

cd su/src
cp configs/Makefile.config_Linux_Ubuntu Makefile.config

接下来修改Makefile.config和Makefile

Makefile.config:

vim Makefile.config

把Makefile.config文件中的XDRFLAG配置为空,即“XDRFLAG = ”

依然是按i进入编辑模式,编辑完成后esc输入:wq

Makefile:

定义CWPROOT=安装路径,如:CWPROOT=/home/constantinee/su

vim Makefile

 将其中的#CWPROOT= 前的#去掉,并在后面补上/home/constantinee/su

6.终于开始安装了,解决sulfaf报错

src下执行两条最主要的命令,先只执行第一个make install!!!!因为会报错

 make install
 make xtinstall

make install的第一个选择y,然后回车回车

接着读完他的协议,慢些跳,因为后边要输入一个选项同意

建议按两下空格跳到后边选项

接下来还有一个是否反馈可以选否

如果是顺利的情况下会见到一个关于sulfaf的makefile报错:(头文件报错的看大标题四)

解决方案是修改Makefile.config中的编译选项,添加-fcommon,允许公共符号,解决多重定义错误。

vim Makefile.config

找到CFLAGS,在后面加上-fcommon,注意有两个地方要改的,特别是后一个

错误具体原因是代码中定义了同名变量 tr ,链接编译就出现了冲突问题

此时再次执行make install或者以下命令,然后按个y

make remake

出现这个说明最难部分已经安装成功!congratulations!

此时执行

 make xtinstall

三、测试使用

直接输入

suplane | suxwigb

出现以下图像说明软件安装成功:

因为我们之前已经配置过环境变量,所以可以直接调用,包括ximage等,但是ximage需要其他参数,相关专业同学老师后续可以自行进行研究,此博客仅限软件基础安装。

其他模块的安装大家也可以自行处理,举下例子:(后面有部分报错解决方案)

make finstall # fortran模块
make mglinstall
make utils
make xminstall
make sfinstall # segd模块

四、头文件等报错解决方案

make install时:

1.如果报include rpc/types.h等头文件错误,可按如下操作解决

例如:

/usr/include/rpc下,缺少必要的.h文件(types.h、xdr.h,均位于/usr/include/tirpc/rpc下)

/usr/include下,缺少必要的.h文件(netconfig.h,位于/usr/include/tirpc下)

方法一:创建软链接(首先确保自己已经装过该库)

sudo ln -s /usr/include/tirpc/rpc/types.h /usr/include/rpc
sudo ln -s /usr/include/tirpc/rpc/xdr.h /usr/include/rpc
sudo ln -s /usr/include/tirpc/netconfig.h /usr/include

方法二:直接cp将文件拷贝至指定目录(首先确保自己已经装过该库)

2.如果是报错关于sucentsamp这个文件缺失等

原因是没有执行Makefile.config的替换,执行一下大标题二的5小节。

make finstall时:

如果报“Type mismatch / Rank mismatch”的错误,是因为gfortran和gcc版本过高导致的(22.04是11版,此处需要9版),可按如下操作解决:

sudo apt-get install gcc-9
sudo apt-get install gfortran-9
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
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

make xminstall时:

如果报“Xm/Xm.h”的错误,可按如下操作解决:

sudo apt-get install libxm4
sudo apt-get install libxt6
sudo apt-get install libmotif-dev

四处碰壁收集资料太难了,创作不易,剽窃可耻,如果有帮到各位看官的可以留下赞或收藏,非常感谢!!

有其他问题及解决方案可以告诉我同步扩充,谢谢大家支持~

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐