拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Ubuntu 16.04安装Abaqus 6.13完整指南:依赖库配置与许可证服务器排坑

Ubuntu 16.04安装Abaqus 6.13完整指南:依赖库配置与许可证服务器排坑

去年接了个项目要用Abaqus 6.13做显式动力学分析,实验室那台工作站装的是Ubuntu 16.04 LTS,老板还指定必须用6.13版。Windows底下装Abaqus已经是出了名的折腾,换成Linux之后的坑可想而知,网上能找到的中文资料不是缺步骤就是版本对不上,我前后踩了一周多的坑才终于把这东西完全跑起来。

这篇就专门记录我在Ubuntu 16.04 LTS上安装Abaqus 6.13的完整经历,从依赖库整理、安装流程、许可证服务器配置到各种报错排查全部写清楚。不管你是做土木、机械还是材料仿真,只要你的计算平台是Ubuntu且需要装这款有限元软件,这份记录应该能帮你少走不少弯路。

1. 安装思路与版本选型解析

1.1 为什么这个组合这么难装

Abaqus 6.13是2013年底发布的版本,而Ubuntu 16.04是2016年发布的系统。这两者的组合之所以麻烦,核心问题在于二进制兼容性。Abaqus的Linux版大量使用老旧的库文件,比如libstdc++5、libjpeg.so.62这类在现代Linux发行版里早就被替换掉的东西,而16.04默认的gcc是5.4版本,系统仓库里根本没带这些旧库。装Abaqus 6.13,很大一部分工作就是在和这些老库打交道。

另外,Abaqus 6.13的图形界面用的是老版本的Qt和Motif组件,在现代的桌面环境上经常出现白屏、字体异常、无法启动CAE等问题。这个不是单纯的安装问题,而是运行环境兼容问题。我见过不少人在这一步放弃,转回Windows去装,但其实这些问题都有对应的解决套路。

1.2 安装前必须理清的三条主线

装Abaqus 6.13和装其他大型商业软件不一样,它不是双击一个安装程序就完事的。它的安装逻辑可以拆成三条主线:

  • 第一是许可证服务器。Abaqus用的是FlexLM授权体系,不管你是正版授权还是学习用的测试授权,都必须先在Linux上把许可证服务跑起来。这是单独的一套安装程序,安装顺序上需要最先完成。
  • 第二是Abaqus主程序。包括CAE前处理、Standard/Explicit求解器、Abaqus/Viewer等模块,安装过程中会让你指定许可证服务器的地址。
  • 第三是文档。Abaqus自带完整的用户手册和理论文档,这部分的体积非常大,如果不是离线环境未必用得到,而且装它特别耗时,完全可以跳过不装。

理清这三条线之后再动手,思路就清晰很多,遇到问题也知道往哪个方向去查。

2. 安装前的系统环境准备与依赖库配置

2.1 新建用户、检查主机名和临时目录

Abaqus官方要求不能直接用root账户安装运行,这主要是防止安装和后续计算时权限过大导致误操作。所以我先建了一个专门跑仿真用的普通用户,命令如下:

sudo adduser simuser

实际操作中还要注意主机名的问题。Abaqus许可证服务器在启动时需要正确识别主机名,所以最好提前检查一下/etc/hostname和/etc/hosts是否配置一致。举个例子,如果你机器的主机名是workstation,那/etc/hosts里至少要有一行:

127.0.0.1 localhost 127.0.1.1 workstation

我一开始忽略了这一步,结果许可证服务一直起不来,报错是找不到主机名。

另外还有一个特别关键的点,Abaqus安装程序在安装过程中会向/tmp和/var/tmp写入临时文件,如果这两个目录权限不对,安装程序会中途莫名退出。稳妥起见,检查一下:

chmod 1777 /tmp /var/tmp

2.2 依赖库安装,一个都不能少

这一部分是整个安装过程中最容易出问题的地方。Ubuntu 16.04自带的软件源里默认没有Abaqus 6.13需要的老库,需要逐个安装。我实际用到的安装命令如下:

sudo apt-get update sudo apt-get install -y csh ksh lsb-core libstdc++5 libjpeg62 libmotif-dev libxp6 libxpm4 libxt6 libxm4

逐条说一下这些包各自的用途:

  • csh和ksh:Abaqus的安装脚本和启动脚本是用C Shell写的,没有csh根本无法执行安装,这是最容易忽略的一条。
  • lsb-core:Abaqus需要LSB(Linux Standard Base)兼容层,缺了它安装程序会直接提示缺少/lib/ld-lsb.so.3这类文件。
  • libstdc++5:Abaqus 6.13的Java组件和部分求解器模块依赖这个老版本C++标准库。在16.04的源里还能找到,高版本Ubuntu就必须手动下载了。
  • libjpeg62:这个是老版本JPEG图像库,主要是文档和图形输出模块在用。
  • libmotif-dev:Motif是Abaqus/CAE图形界面依赖的组件库,不装它CAE启动时大概率报错或者白屏。
  • libxp6和libxpm4:老版本X11协议相关的扩展库,属于历史遗留需求。

这里多说一句,libmotif-dev还需要它依赖的libxmu-dev和libxt-dev,apt会自动处理,一般不会漏。

2.3 安装包的准备和临时目录规划

Abaqus 6.13的Linux安装包通常是以ISO镜像文件的形式分发,里面分了三个主要目录:许可证服务器安装程序、Abaqus主程序安装程序,以及文档安装程序。我当时的做法是直接解压而不是挂载ISO,因为多张镜像反复挂载比较麻烦。

mkdir ~/abaqus_install cd ~/abaqus_install # 假设镜像文件在 /mnt/iso unzip -d Abaqus613_1 Abaqus613_linux64_1.zip unzip -d Abaqus613_2 Abaqus613_linux64_2.zip

需要注意,解压后文件名里的目录层级默认带着很长的路径,直接复制到另一个地方时容易因为路径过长而失败。我的建议是解压后立刻把文件夹重命名为简短的路径,比如~/abaqus_install/1、~/abaqus_install/2,后续执行安装脚本时省去很多因为路径复杂导致的麻烦。

提示:安装包解压之后的大小接近10GB,确认磁盘剩余空间足够再开始安装。另外,安装Abaqus主程序本身大概占用5GB以上空间,也要提前规划好。

3. 正式安装过程与许可证服务器配置

3.1 许可证服务器的安装流程

许可证服务器在整个体系里地位特殊,因为它决定了Abaqus主程序能不能启动。按照官方文档,应该先安装许可证服务器。进入解压后的文件夹,里面有一个Linux64子目录,运行里面的setup:

cd ~/abaqus_install/1/Linux64 ./setup

这时候会弹出一个图形化的安装引导界面。如果你是在本地机器上操作,一般直接能看到界面;如果是通过SSH远程安装,则需要提前用export DISPLAY=:0.0之类的设置把图形界面转发到本地。这个我后面在问题排查部分细说。

安装过程中会有几个交互选项,比较关键的是:

  • 选择安装类型:这里要选License Server,不要选Product。
  • 指定安装目录:默认是/opt/SIMULIA/License,可以直接用默认值,或者统一安装到/usr/SIMULIA下,看自己的习惯。
  • 许可证文件位置:它会让你指定一个license文件,但真正可靠的流程是安装完成后去替换它推荐的默认文件。

安装完成后,许可证服务器的二进制文件位于安装目录下的linux_a64子目录,我们需要把授权文件放在这里并启动服务。假设授权文件叫abaqus.lic,手动启动的命令是:

cd /opt/SIMULIA/License/linux_a64 ./lmgrd -c abaqus.lic -l /var/tmp/license.log

如果license文件配置正确,日志里会出现类似Server started on hostname的信息。

3.2 授权文件的具体配置细节

授权文件是许可服务器能否正常启动的关键。Abaqus的授权文件开头通常是这样的结构:

SERVER this_host 001122334455 27011 VENDOR ABAQUSLM /opt/SIMULIA/License/linux_a64/ABAQUSLM USE_SERVER

其中:

  • SERVER这行第一个字段是主机名,可以直接写this_host。但在这台机器上如果写这个不生效,就手动把this_host替换成/etc/hostname里显示的名字。
  • 第二字段是主机网卡的物理地址,也就是MAC地址。用ifconfig看当前活动网卡的HWaddr,填进去。注意这里必须是真实存在的网卡地址,不能随便填。
  • 第三个字段是端口号,默认27011,如果你机器上端口冲突,可以换成其他未占用端口,但后续配置的所有地方都要保持一致。

对于正版用户,license文件里的SERVER和FEATURE行都是代理商根据你的机器信息生成好的,难度不大,重点在于格式别弄乱。对于学习版用户来说更要注意,改MAC地址这个操作一定要准确。

3.3 Abaqus主程序的安装步骤详解

许可证服务器装好并确认能启动之后,就可以开始安装Abaqus主程序了。进入主程序安装包目录,仍然运行setup:

cd ~/abaqus_install/2/Linux64 ./setup

这里和许可证安装不同,选择安装Abaqus/CAE、Standard、Explicit等主程序模块。安装过程中有几个关键界面值得重点关注:

  • 指定安装路径:默认是/usr/SIMULIA/Abaqus,保持默认即可。官方建议路径不要包含空格和特殊符号,Linux下一般都不会踩这个坑。
  • 指定许可证服务器地址:这一步最考验耐心。界面上会问License服务器类型和地址,格式是27011@hostname,其中27011是刚才许可证SERVER行里的端口号,hostname是你许可证服务器的机器名。我一开始在这里填了IP地址,结果运行时Abaqus能连上但识别不了授权,后来改成主机名就正常了。
  • 选择执行文件目录:默认是/usr/SIMULIA/Commands,也就是存放abaqus启动命令的地方。

安装过程比较长,从开始到结束大概需要20-40分钟,取决于机器性能。期间不要中断,也不要去动图形界面窗口。

3.4 安装后的目录结构与权限检查

主程序安装完成后,建议先检查一下目录结构和关键文件权限,避免后面启动时报各种奇怪的错误。一个正常的安装目录结构大概是这样:

/usr/SIMULIA/Abaqus/6.13-1/ ├── CAEresources ├── Exec ├── Site ├── code ├── installation_info └── ...

Site目录里有一个custom_v6.env文件,这是Abaqus启动时读取的核心环境配置文件。如果安装过程中许可证地址写错了,直接改这个文件比重新安装高效得多。打开这个文件,检查是否有这样一行:

abaquslm_license_environment="ABAQUSLM_LICENSE_FILE" license_server="27011@your_hostname"

如果license_server行不对,用文本编辑器改成实际配置即可。

提示:修改custom_v6.env之前最好备份一份原始文件,这个文件里有大量求解器相关的环境变量,乱动可能导致整个Abaqus启动失败。

4. 环境变量配置与安装验证

4.1 配置Abaqus启动环境

Abaqus主程序装完后,系统还不知道去哪里找abaqus命令。安装程序默认把启动命令放在/usr/SIMULIA/Commands下,但是不会自动把它加进PATH环境变量。我个人的习惯是把这些命令目录追加到/etc/profile.d/下的自定义配置里,这样所有用户都能直接用:

sudo bash -c 'echo "export PATH=/usr/SIMULIA/Commands:\$PATH" > /etc/profile.d/abaqus.sh' source /etc/profile.d/abaqus.sh

配置完成后在终端输入which abaqus,如果能输出路径就说明环境变量设置成功。这一步虽然看起来简单,但很多人装完直接输abaqus提示找不到命令,问题就是环境变量没配好。

4.2 许可证环境变量的设置

除了PATH之外,许可证相关的环境变量也要一并设置,否则即使which abaqus能输出路径,启动时也会报ABAQUSLM_LICENSE_FILE未定义的错误。

在同一个/etc/profile.d/abaqus.sh文件里,继续追加:

export ABAQUSLM_LICENSE_FILE=27011@your_hostname

注意这里写的端口号和主机名,必须和授权文件SERVER行、custom_v6.env里保持一致。三个地方的配置只要有一个不一致,Abaqus就没法正常获取授权。

4.3 运行verify命令完成自检

Abaqus自带了完整的环境自检工具verify,可以帮助我们确认各个模块是否安装正确。这一步强烈建议做,很多潜在问题在验证阶段就能暴露出来,而不是等到真正运行作业时才发现。

abaqus verify -all

这个命令会依次检查CAE、Standard、Explicit、文档等各个模块,输出结果会用OK、WARNING或FAILED标记。重点关注是否有FAILED项目。

我自己跑验证时,Standard和Explicit求解器都显示OK,但CAE出现了WARNING,提示显示环境存在兼容性问题。这个不影响求解器使用,但对于需要图形前处理的用户来说,还是需要解决的,具体办法在下面问题排查部分详细说。

4.4 图形界面的基本运行测试

验证无误后,直接输入abaqus cae测试启动界面。第一次启动会比较慢,因为要加载大量资源文件,耐心等半分钟到一分钟。

如果图形界面能正常出现,并且能进入Part模块创建一个部件,那安装就算大功告成。如果界面白屏、闪退、或者只有菜单栏没有绘图窗口,那就往下看问题排查章节,问题大多出在Motif和显示库的细节上。

5. 常见问题与故障排查方法

5.1 问题速查表

我把安装过程中最容易踩的坑整理成一张表,方便大家对照排查:

现象根本原因解决方法
setup安装界面闪退或无法启动缺少csh,或者DISPLAY变量没设置sudo apt install csh,本地操作确认DISPLAY已设置
许可证服务启动后日志报Cannot find hostname/etc/hosts里没有本机主机名的映射在/etc/hosts添加本机IP和主机名对应关系
许可证卡在Waiting for vendor daemon to startlicense文件里VENDOR行的路径不对检查ABAQUSLM的实际绝对路径,必须在license文件里写完整
abaqus命令提示找不到PATH环境变量未配置把/usr/SIMULIA/Commands加入PATH
启动CAE后界面白屏缺少libmotif或libXm相关库安装libmotif-dev、libxm4,并确认没有缺失依赖
报error while loading shared libraries: libjpeg.so.62缺libjpeg62sudo apt install libjpeg62
运行求解器时报UnicodeDecodeError或locale问题系统locale没有正确设置设置为en_US.UTF-8且不要保留中文乱码环境
图形界面中文显示乱码X11字体配置问题设置export ABAQUS_USE_XFT=1,或安装fonts-wqy-zenhei

5.2 许可证服务启动失败深度排查

许可证问题是安装完后第一批遇到的问题。正常情况下启动后日志里会有Server started这样的字样。如果卡在Waiting for vendor daemon to start,我建议从三个方面去排查:

  • 第一,确认license文件里的VENDOR行是否指定了正确的ABAQUSLM路径。这个路径是安装许可证服务器时的实际路径,比如/opt/SIMULIA/License/linux_a64/ABAQUSLM,如果输错,vendor daemon永远起不来。
  • 第二,确认端口没有被防火墙或者已占用的进程干扰。Ubuntu 16.04默认的ufw防火墙可能在运行,临时关掉再测试一下sudo ufw disable。
  • 第三,确认license文件里的MAC地址是否真的匹配当前网卡。这一步尤其容易被忽略,如果你机器上有多个网卡(比如wireless和ethernet共存),务必要使用和主机名对应的那张网卡的物理地址。

如果manual配置搞不定,Abaqus其实还提供了一个图形化配置工具:

abaqus license utilities

这个界面上能直接查看许可服务的状态、测试连接,比手动敲命令直观很多。

5.3 CAE图形界面启动白屏或闪退的处理

Abaqus 6.13的CAE界面在Linux上白屏是高概率事件,尤其是Ubuntu这类新内核的桌面环境上。我踩这个坑的时候试了很多方案,最终有效的是两个措施配合:

  • 安装libmotif库和libXm库,这个是Abaqus界面的基础依赖,缺的化白屏概率极高。
  • 设置Qt运行环境变量export ABAQUS_USE_XFT=1,这个可以强制让界面使用Xft字体渲染,能解决大部分字体和渲染异常问题。

如果还不行,可以尝试关闭桌面环境的硬件加速。在GNOME桌面下,打开终端运行export LIBGL_ALWAYS_SOFTWARE=1再启动abaqus cae,这个相对冷门但在我另一台机器上确实成功过。

5.4 远程SSH安装时图形界面不显示的问题

很多人是在机房服务器上装Abaqus,通过SSH远程操作。这就会遇到图形界面无法显示的问题。基本思路是使用X11转发:

ssh -X simuser@服务器地址

在SSH会话里确认DISPLAY环境变量是否设置成功:

echo $DISPLAY

如果输出类似localhost:10.0,说明X11转发已经生效,然后运行setup就能在本地看到图形界面。如果DISPLAY为空,检查服务器的sshd配置里X11Forwarding yes是否打开,以及本地是否运行了X server。

对于Windows本地用户,建议安装Xming或VcXsrv这类X服务器工具,否则即使SSH带X转发,本地也没有能显示图形界面的程序。

5.5 求解器运行时的隐性问题

安装和图形界面都没问题之后,有本事求解器运行到一半会报一些奇怪错误。最常见的是报错信息和内存相关,比如:

abaqus error: PYTHONHOME is not set correctly

这是因为Abaqus自带的Python环境和系统Python环境冲突。解决方法很简单,在环境变量配置里明确指定Abaqus自带的Python路径,或者确保环境变量里没有手动设置过PYTHONHOME。我的做法是把Abaqus的Commands目录放在PATH最前面,并且在/etc/profile.d/abaqus.sh里避免引入系统Python相关变量。

另外,跑并行多核作业时,如果机器上的CPU核心数很多,需要提前在环境变量里设置许可数量限制,否则会因为许可不够而报错。设置方式在custom_v6.env或求解器参数里控制,这个是后话,但建议提前了解。

6. 安装成功之后的一些使用心得

安装本身折腾,但用起来更需要注意一些细节。我自己实际跑完几个模型之后,总结了几个和安装直接相关的使用建议。

第一,建议保留安装包和解压文件不要删。Abaqus运行时某些资源文件确实是从安装目录读取的,但当你需要添加新模块或者修复损坏文件时,重新解压和安装比重新下载整个镜像省事太多。我就是当初删了解压文件,后来想补装Documentation模块,结果得重新找安装包,折腾了好几天。

第二,建议定期备份Site目录和custom_v6.env。这个文件是Abaqus运行时的核心配置,如果你后续调整过求解器内存参数、临时文件目录或授权设置,不小心改坏会导致整个Abaqus无法启动。备份一个几十KB的文件,关键时刻能救命。

第三,环境变量配置集中管理。我后来把/etc/profile.d/abaqus.sh里的环境变量整合成一个函数脚本,包含PATH、许可变量、临时目录设置等,再用abaqus verify定期检查环境变化。这样即使系统更新导致变量重置,也能快速恢复。

第四,不要试图在Ubuntu 18.04以上的系统里强行安装Abaqus 6.13。虽然部分依赖可以通过手动下载旧库解决,但系统底层的glibc和图形栈变化太大,很多模块会跑不起来。如果一定要用6.13版本,建议用虚拟机装一套Ubuntu 16.04作为仿真专用环境,成本远低于在更高版本系统上折腾。

最后再分享一个安装过程中的小技巧。在我实际安装时,用lsb_release -a确认系统版本很重要,因为不少用户在16.04和16.10之间搞混了,不同小版本的内核和库版本差异会导致Abaqus安装表现不同。安装前把系统的内核、架构和关键库版本记录下来,后续排查时能省下大量时间。

返回列表