在Manjaro Linux上安装Abaqus 2022
本来没什么素材更新文章的,这下因为阴差阳错各种巧合,来素材了( 刚立flag没几天说是
其实在目前阶段我并不需要用这个软件,究其原因,是我朋友的电脑内存不够,他的研究生导师的课题组要用Abaqus这个软件进行有限元分析模拟,不出所料炸内存了。他想起来我有这么一个128G内存的“电脑”(服务器),于是想让我帮忙算一下。
好巧不巧,这逼软件有Linux版,那就试试吧!
然后试试就逝世,这逼养的古董屎山软件的安装方式,以及各种奇葩的要求和报错属实难绷,挂出来让大家品屎罢!踩坑报错把我搞傻了,国内各种资料网站参考了一遍没能解决,压力ChatGPT解决了,GPT yyds! 记录一下吧,给后面有需要的人指路。
理论上这篇教程同样适用于在Arch Linux上安装,应该也可以作为在其他发行版进行安装时的参考。
软件获取
自己可以找一下,相对而言还算是比较好找的。如果找不到,我这里有:
Abaqus_2022_Linux.7z.001
Abaqus_2022_Linux.7z.002
Abaqus_2022_Linux.7z.003
Abaqus_2022_Linux.7z.004
请下载全部压缩分卷后解压,解压密码是:www.nekopara.uk
如果你下载我打包的版本,那安装前准备的修改Linux.sh
脚本部分可以跳过,已经帮改好了。
安装前准备
首先,进入安装目录,赋予全部文件可执行权限已经修改权限,不然你会得到报错:Error: This media has been unzipped or copied in such a way that the permissions of some files have been lost. Please unzip or copy the media again.
chmod -R 777 DS.SIMULIA.Suite.2022.Linux64/*
接着,要修改安装目录里面的每一个Linux.sh
文件,强行指定检测的发行版为CentOS
或者其他位于支持列表的发行版。
这些文件存在于:
DS.SIMULIA.Suite.2022.Linux64/1/inst/common/init/Linux.sh
(这个好像是主安装程序的,但是实际上主安装程序没屌用,就是套娃然后依此启动3
4
5
文件夹里面的安装程序,套娃安装,也是唐完了。)DS.SIMULIA.Suite.2022.Linux64/3/NETVIBES_Exalead_CloudView/Linux64/1/inst/common/init/Linux.sh
DS.SIMULIA.Suite.2022.Linux64/3/Search_Doc/Linux64/1/inst/common/init/Linux.sh
DS.SIMULIA.Suite.2022.Linux64/3/SIMULIA_FLEXnet_LicenseServer/Linux64/1/inst/common/init/Linux.sh
DS.SIMULIA.Suite.2022.Linux64/4/SIMULIA_EstablishedProducts/Linux64/1/inst/common/init/Linux.sh
DS.SIMULIA.Suite.2022.Linux64/5/SIMULIA_Documentation/AllOS/1/inst/common/init/Linux.sh
DS.SIMULIA.Suite.2022.Linux64/5/SIMULIA_EstablishedProducts_CAA_API/Linux64/1/inst/common/init/Linux.sh
DS.SIMULIA.Suite.2022.Linux64/5/SIMULIA_Isight/Linux64/1/inst/common/init/Linux.sh
找到这一行:
DSY_OS_Release=`lsb_release --short --id |sed 's/ //g'`
修改为:
DSY_OS_Release="CentOS"
有一说一,这安装包的目录结构太抽象了,真的是唐完了。
修改完成后,就可以开始安装了。
安装软件
我实测下来,是可以不使用root
权限执行安装的,只需要安装在一个普通权限可以写入的文件夹里面即可。权限最小化,不轻易给出root权限!而且,直接不经包管理器修改/usr
目录是不太好的。
如你享受Windows上面那种套娃安装的操蛋感,那请执行:DS.SIMULIA.Suite.2022.Linux64/1/StartGUI.sh
。他会一步一步引导你安装,记得勾选许可证服务器安装,用于验证:
然后他就先给你吃一口屎:
招笑完了,安装还要我一个一个去手动选择文件夹?《请插入 5 的包络体 3,或者指定其目录路径。》什么抽象翻译?
接下来让我们手动一个一个安装,就不跟这个主安装程序一起发癫了。
安装FLEXnet License Server
进入目录:DS.SIMULIA.Suite.2022.Linux64/3/SIMULIA_FLEXnet_LicenseServer/Linux64/1/
执行:
./StartGUI.sh
这里选择一个别的目录,例如我安装在别的硬盘就填别的目录/run/media/chocola/RAID0-2T/SIMULIA/
,记得是替换前面这截:/usr/SIMULIA/
,而不是这截粘贴上去,不然目录结构会乱。安装目标目录只要有写入权限即可:
记得勾上这个:
下一步安装就行了。
安装Established Products
进入目录:DS.SIMULIA.Suite.2022.Linux64/4/SIMULIA_EstablishedProducts/Linux64/1/
,操作方法同上,记得更改目录。
在安装界面,根据你的需要进行选择,我是直接全选了:
选择跳过许可证设置:
选择设置启动命令的地方,类似与快捷方式,用于启用程序,本身并不大,我是一起放在安装目录了:
然后让你选择外部插件目录,同样的方式修改:
下一步,求解器接口根据自己需求配置,我这里默认,下一步。
选择工作目录位置,原本默认目录是/usr/temp
很明显不太对,让我们放到安装目录下的temp
文件夹:
下一步,那个配置什么Tosca Fluid接口,我是直接下一步跳过了,然后开始安装。
复制许可证
在安装包内找到ABAQUSLM__lmgrd__SSQ.lic
这个文件,将其复制到软件的这个目录:SIMULIA/License/2022/linux_a64/code/bin/
下,我给出的是相对路径,实际路径你自己根据安装的位置匹配。
复制完成后,在这个目录下,运行命令启动许可证管理器:
./lmgrd -c ABAQUSLM__lmgrd__SSQ.lic
然后你会惊喜的发现报错:zsh: 没有那个文件或目录: ./lmgrd
然后你发现lmgrd
这个逼文件确实是在目录里面,这是怎么回事呢,接下来开始排雷。
软件启动排雷
安装需要的软件包
我们需要安装两个软件包来解决报错和问题,这两个软件包是:patchelf
和libjpeg6-turbo
:
pacman -S patchelf libjpeg6-turbo
patchelf
用于修补二进制文件,解决无法启动的问题。对应的表现为启动时报错:./lmgrd zsh: 没有那个文件或目录: ./lmgrd
libjpeg6-turbo
用于解决Abaqus2022 CAE启动报错:./abq2022 cae /run/media/chocola/RAID0-2T/SIMULIA/EstProducts/2022/linux_a64/code/bin/ABQcaeK: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory Abaqus Error: Abaqus/CAE Kernel exited with an error.
修复lmgrd的没有那个文件或目录
执行以下命令修补`lmgrd
:
patchelf --set-interpreter /usr/lib/ld-linux-x86-64.so.2 ./lmgrd
然后启动,得到下一个报错:
./lmgrd -c ABAQUSLM__lmgrd__SSQ.lic
20:39:47 (lmgrd) -----------------------------------------------
20:39:47 (lmgrd) Please Note:
20:39:47 (lmgrd)
20:39:47 (lmgrd) This log is intended for debug purposes only.
20:39:47 (lmgrd) In order to capture accurate license
20:39:47 (lmgrd) usage data into an organized repository,
20:39:47 (lmgrd) please enable report logging. Use Flexera's
20:39:47 (lmgrd) software license administration solution,
20:39:47 (lmgrd) FlexNet Manager, to readily gain visibility
20:39:47 (lmgrd) into license usage data and to create
20:39:47 (lmgrd) insightful reports on critical information like
20:39:47 (lmgrd) license availability and usage. FlexNet Manager
20:39:47 (lmgrd) can be fully automated to run these reports on
20:39:47 (lmgrd) schedule and can be used to track license
20:39:47 (lmgrd) servers and usage across a heterogeneous
20:39:47 (lmgrd) network of servers including Windows NT, Linux
20:39:47 (lmgrd) and UNIX.
20:39:47 (lmgrd)
20:39:47 (lmgrd) -----------------------------------------------
20:39:47 (lmgrd)
20:39:47 (lmgrd)
20:39:47 (lmgrd) Server's System Date and Time: Tue Oct 21 2025 20:39:47 CST
20:39:47 (lmgrd) SLOG: Summary LOG statistics is enabled.
20:39:47 (lmgrd) Can't make directory /usr/tmp/.flexlm, errno: 2(No such file or directory)
20:39:47 (lmgrd) FlexNet Licensing (v11.16.5.1 build 257031 x64_lsb) started on miku-vm (linux) (10/21/2025)
20:39:47 (lmgrd) Copyright (c) 1988-2019 Flexera. All Rights Reserved.
20:39:47 (lmgrd) World Wide Web: http://www.flexerasoftware.com
20:39:47 (lmgrd) License file(s): ABAQUSLM__lmgrd__SSQ.lic
20:39:47 (lmgrd) lmgrd tcp-port 27800
20:39:47 (lmgrd) (@lmgrd-SLOG@) ===============================================
20:39:47 (lmgrd) (@lmgrd-SLOG@) === LMGRD ===
20:39:47 (lmgrd) (@lmgrd-SLOG@) Start-Date: Tue Oct 21 2025 20:39:47 CST
20:39:47 (lmgrd) (@lmgrd-SLOG@) PID: 5586
20:39:47 (lmgrd) (@lmgrd-SLOG@) LMGRD Version: v11.16.5.1 build 257031 x64_lsb ( build 257031 (ipv6))
20:39:47 (lmgrd) (@lmgrd-SLOG@)
20:39:47 (lmgrd) (@lmgrd-SLOG@) === Network Info ===
20:39:47 (lmgrd) (@lmgrd-SLOG@) Listening port: 27800
20:39:47 (lmgrd) (@lmgrd-SLOG@)
20:39:47 (lmgrd) (@lmgrd-SLOG@) === Startup Info ===
20:39:47 (lmgrd) (@lmgrd-SLOG@) Server Configuration: Single Server
20:39:47 (lmgrd) (@lmgrd-SLOG@) Command-line options used at LS startup: -c ABAQUSLM__lmgrd__SSQ.lic
20:39:47 (lmgrd) (@lmgrd-SLOG@) License file(s) used: ABAQUSLM__lmgrd__SSQ.lic
20:39:47 (lmgrd) (@lmgrd-SLOG@) ===============================================
20:39:47 (lmgrd) Starting vendor daemons ...
20:39:47 (lmgrd) Started ABAQUSLM (internet tcp_port 44829 pid 5591)
20:39:47 (lmgrd) license daemon: execute process failed: (./ABAQUSLM) -T miku-vm 11.16 7 -c :ABAQUSLM__lmgrd__SSQ.lic:
20:39:47 (lmgrd) license daemon: system error code: No such file or directory
20:39:47 (lmgrd) ABAQUSLM exited with status 45 (Child cannot exec requested server)
20:39:47 (lmgrd) Please correct problem and restart daemons
解决办法是,用同样的手法,修补ABAQUSLM
:
patchelf --set-interpreter /usr/lib/ld-linux-x86-64.so.2 ./ABAQUSLM
启动后,你又会得到一个船新的报错:
./lmgrd -c ABAQUSLM__lmgrd__SSQ.lic
20:42:57 (lmgrd) -----------------------------------------------
20:42:57 (lmgrd) Please Note:
20:42:57 (lmgrd)
20:42:57 (lmgrd) This log is intended for debug purposes only.
20:42:57 (lmgrd) In order to capture accurate license
20:42:57 (lmgrd) usage data into an organized repository,
20:42:57 (lmgrd) please enable report logging. Use Flexera's
20:42:57 (lmgrd) software license administration solution,
20:42:57 (lmgrd) FlexNet Manager, to readily gain visibility
20:42:57 (lmgrd) into license usage data and to create
20:42:57 (lmgrd) insightful reports on critical information like
20:42:57 (lmgrd) license availability and usage. FlexNet Manager
20:42:57 (lmgrd) can be fully automated to run these reports on
20:42:57 (lmgrd) schedule and can be used to track license
20:42:57 (lmgrd) servers and usage across a heterogeneous
20:42:57 (lmgrd) network of servers including Windows NT, Linux
20:42:57 (lmgrd) and UNIX.
20:42:57 (lmgrd)
20:42:57 (lmgrd) -----------------------------------------------
20:42:57 (lmgrd)
20:42:57 (lmgrd)
20:42:57 (lmgrd) Server's System Date and Time: Tue Oct 21 2025 20:42:57 CST
20:42:57 (lmgrd) SLOG: Summary LOG statistics is enabled.
20:42:57 (lmgrd) Can't make directory /usr/tmp/.flexlm, errno: 2(No such file or directory)
根据报错,这逼养的程序想要一个不符合规范的临时目录:/usr/tmp/
,正常的临时目录应该是/tmp
给他就是了:
mkdir -p /usr/tmp
chmod 1777 /usr/tmp
再次启动,这次应该就正常了?然而并卵:
20:49:59 (lmgrd) -----------------------------------------------
20:49:59 (lmgrd) Please Note:
20:49:59 (lmgrd)
20:49:59 (lmgrd) This log is intended for debug purposes only.
20:49:59 (lmgrd) In order to capture accurate license
20:49:59 (lmgrd) usage data into an organized repository,
20:49:59 (lmgrd) please enable report logging. Use Flexera's
20:49:59 (lmgrd) software license administration solution,
20:49:59 (lmgrd) FlexNet Manager, to readily gain visibility
20:49:59 (lmgrd) into license usage data and to create
20:49:59 (lmgrd) insightful reports on critical information like
20:49:59 (lmgrd) license availability and usage. FlexNet Manager
20:49:59 (lmgrd) can be fully automated to run these reports on
20:49:59 (lmgrd) schedule and can be used to track license
20:49:59 (lmgrd) servers and usage across a heterogeneous
20:49:59 (lmgrd) network of servers including Windows NT, Linux
20:49:59 (lmgrd) and UNIX.
20:49:59 (lmgrd)
20:49:59 (lmgrd) -----------------------------------------------
20:49:59 (lmgrd)
20:49:59 (lmgrd)
20:49:59 (lmgrd) Server's System Date and Time: Tue Oct 21 2025 20:49:59 CST
20:49:59 (lmgrd) SLOG: Summary LOG statistics is enabled.
20:50:14 (lmgrd) The TCP port number in the license, 27800, is already in use.
20:50:14 (lmgrd) Possible causes:
20:50:14 (lmgrd) 1) The license server manager (lmgrd) is already running for this license.
20:50:14 (lmgrd) 2) The OS has not "cleared" this port since lmgrd died.
20:50:14 (lmgrd) 3) Another process is using this port number (unlikely).
20:50:14 (lmgrd) Solutions:
20:50:14 (lmgrd) 1) Make sure lmgrd and all vendor daemons for this
20:50:14 (lmgrd) license are not running.
20:50:14 (lmgrd) 2) You may have to wait for the OS to clear this port.
20:50:14 (lmgrd) Retrying for about 5 more minutes
20:50:32 (lmgrd) Still trying...
我们要来释放被占用的端口,这时观察进程列表,发现残留了多个lmgrd
,通通干掉,然后再尝试启动:
./lmgrd -c ABAQUSLM__lmgrd__SSQ.lic
命令行出现下面的内容,就说明成功启动了:
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) ===============================================
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) === Vendor Daemon ===
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) Vendor daemon: ABAQUSLM
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) Start-Date: Mon Oct 20 2025 20:31:06 CST
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) PID: 3409793
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) VD Version: v11.16.5.1 build 257031 x64_lsb ( build 257031 (ipv6))
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@)
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) === Startup/Restart Info ===
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) Options file used: None
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) Is vendor daemon a CVD: No
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) Is FlexNet Licensing Service installed and compatible: No
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) FlexNet Licensing Service Version: -NA-
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) Is TS accessed: No
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) TS access time: -NA-
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) Number of VD restarts since LS startup: 0
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@)
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) === Network Info ===
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) Listening port: 54131
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) Daemon select timeout (in seconds): 1
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@)
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) === Host Info ===
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) Host used in license file: chocola-sa5212m4
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) HostID node-locked in license file: ID=20170101
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) HostID of the License Server: "6c92bf6bb2d1 6c92bf6bb2d0"
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) Running on Hypervisor: Not determined - treat as Physical
20:31:06 (ABAQUSLM) (@ABAQUSLM-SLOG@) ===============================================
软件许可证设置
如果不进行这步,直接打开Be Like:
./abq2022 cae
Failed to startup licensing (err01): 1A000058
ERROR 1A000058: License servers configuration file not found
13:14:57.UTC DSLS server status:
0 license server declared in file /var/DassaultSystemes/Licenses/DSLicSrv.txt
File not found.
Abaqus Error: Abaqus/CAE Kernel exited with an error.
配置方法并不难,找到安装目录的这个位置:SIMULIA/EstProducts/2022/linux_a64/SMA/site/
的custom_v6.env
文件。
注释掉importEnv('licensing.env')
,然后加上这两行:
license_server_type=FLEXNET
abaquslm_license_file="27800@localhost"
我给出一个示例方便理解。
示例原文件内容:
# Installation of Established Products 2022
# Tue Oct 21 21:09:02 2025
plugin_central_dir="/run/media/chocola/RAID0-2T/SIMULIA/CAE/plugins/2022"
# retrieve licensing configuration from EstablishedProductsConfig.ini
importEnv('licensing.env')
示例修改后的内容:
# Installation of Established Products 2022
# Mon Oct 20 18:27:00 2025
plugin_central_dir="/run/media/chocola/RAID0-2T/SIMULIA/CAE/plugins/2022"
# retrieve licensing configuration from EstablishedProductsConfig.ini
license_server_type=FLEXNET
abaquslm_license_file="27800@localhost"
#importEnv('licensing.env')
这时,你应该就可以进入SIMULIA/Commands/
目录,启动Abaqus了:
./abq2022 cae
如果到这里你报错libjpeg.so.62
缺失,请返回这个步骤的开头安装libjpeg6-turbo
软件包。
不出意外的话,你会看到这样一个界面:
这就说明你的安装成功了,吗?
然而并没有,如果你使用这个软件进行模拟分析,添加自己的分析程序,你会发现无法进行!原因很简单,没有fortran环境!
部署Abaqus需要的Fortran环境
当发生报错的时候,我整个人是蒙逼的,没有任何技术提示,只是说终止了。然后我才意识到在启动的位置有log文件,也就是在SIMULIA/Commands/
目录里面,因为在这里启动的,算是工作目录,打开一看:
Analysis initiated from SIMULIA established products
Abaqus JOB C3D20_Uel_2
Abaqus 2022
Abaqus License Manager checked out the following licenses:
Abaqus/Standard checked out 5 tokens from Flexnet server localhost.
<9994 out of 9999 licenses remain available>.
Begin Compiling Abaqus/Standard User Subroutines
2025年10月20日 星期一 20时50分43秒
sh: 行 1: ifort: 未找到命令
Abaqus Error: Problem during compilation - /run/media/chocola/Rin/abq_job/C3D20.f
Abaqus/Analysis exited with errors
问题一目了然:ifort: 未找到命令
。
安装Intel oneAPI HPC Toolkit
上网查阅资料得知,ifort
是牙膏厂的Intel oneAPI HPC Toolkit的其中一个工具,所以我们需要去牙膏厂官网下载并安装这个工具,下载入口Bing搜一下就有了。下载回来的安装包是一个2.2GB
的.sh
文件,属实逆天。
下载回来后,执行安装,不需要root权限:
chmod +x intel-oneapi-base-toolkit-2025.0.1.46_offline.sh
./intel-oneapi-base-toolkit-2025.0.1.46_offline.sh
安装后会占用13.3GB
空间,要找一个空间较大的地方安装。
安装完成后,进入安装目录,找到setvars.sh
文件,然后在目录执行:
source ./setvars.sh
执行完成后,查看环境设置是否正常:
ifx -help
如果有输出内容,就没问题了。
但是这时候会有一个问题,Abaqus的命令是ifort,而新版的oneAPI HPC Toolkit已经变成ifx了,怎么办呢?如果你经常用Linux,那你已经有答案了——软链接
进入安装目录下的oneapi/compiler/2025.0/bin/
目录,找到ifx
文件,然后:
ln -s ./ifx ifort
这下就不会ifort: 未找到命令
了。
带上Fortran环境启动Abaqus
在oneAPI的目录使用source ./setvars.sh
临时导入环境到终端后,切换到Abaqus的安装目录启动Abaqus即可:
source ./setvars.sh
cd /run/media/chocola/RAID0-2T/SIMULIA/Commands
./abq2022 cae
不出意外的话,这次就真能运行了: