编译和安装
操作步骤
- 使用PuTTY工具,以root用户登录服务器。
- 执行以下命令安装依赖库。
yum -y install zlib* lapack* blas* python3.aarch64 python3-devel.aarch64 cmake3 boost-python* boost boost-devel numpy* python-numpy flex bison tcl tk
- 执行以下命令进入主程序安装目录,解压安装包并进入目录。
cd /path/to/CODE-ASTER tar -xvf aster-full-src-14.6.0-1.noarch.tar.gz cd aster-full-src-14.6.0
- 执行以下命令修改“setup.py”文件。
- 执行以下命令修改“as_setup.py”文件。
- 打开”as_setup.py”文件。
vi as_setup.py
- 按”i”进入编辑模式,在第1538行中新增“aarch64”选项。
'aarch64': 'shell|script|aarch64',
注意语句缩进空格数与前后保持一致。
- 按”Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开”as_setup.py”文件。
- 执行以下命令修改“setup.cfg”文件。
- 打开”setup.cfg”文件。
vi setup.cfg
- 按”i”进入编辑模式,在第94行中插入如下新内容。
CC='/opt/aarch64/compiler/gcc-9.3.1-2020.12-aarch64-linux/gcc' CXX='/opt/aarch64/compiler/gcc-9.3.1-2020.12-aarch64-linux/g++' F90='/opt/aarch64/compiler/gcc-9.3.1-2020.12-aarch64-linux/gfortran' LD=F90 CXXFLAGS="-std=c++11" CXXLIB='-L/opt/aarch64/compiler/gcc-9.3.1-2020.12-aarch64-linux/lib64 -lstdc++'
根据GCC for openEuler的实际安装位置适当修改。
- 按”Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开”setup.cfg”文件。
- 执行以下命令修改“products.py”文件。
- 打开”products.py”文件。
vi products.py
- 按”i”进入编辑模式,修改187行的内容。
conf_cmd = ("export F77=$F90; "
注意语句缩进空格数与前后保持一致。
- 按”Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开”products.py”文件。
- 执行以下命令进入Code_Aster源码包目录,并解压ASTER安装包。
cd SRC/ tar xvf aster-14.6.0.tgz
- 执行以下命令修改“/bibfor/wscript”文件。
- 打开”/bibfor/wscript”文件。
vi aster-14.6.0/bibfor/wscript
- 按”i”进入编辑模式,修改103行的内容。
if self.env.DEST_CPU == 'x86_64' or self.env.DEST_CPU == 'aarch64':
注意语句缩进空格数与前后保持一致。
- 按”Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开”/bibfor/wscript”文件。
- 执行以下命令修改“/bibpyt/Utilitai/Utmess.py”文件。
- 打开“/bibpyt/Utilitai/Utmess.py”文件。
vi ./aster-14.6.0/bibpyt/Utilitai/Utmess.py
- 按“i”进入编辑模式,修改第224行的内容。
curr_idmess = idmess.split("\0") x = curr_idmess[0].split("_")
- 按”Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“/bibpyt/Utilitai/Utmess.py”文件。
- 执行以下命令更新aster源码安装包,并删除临时文件。
tar cvzf aster-14.6.0.tgz aster-14.6.0 rm -rf aster-14.6.0
- 执行以下命令进行编译。
cd /path/to/CODE-ASTER/aster-full-src-14.6.0 echo y | python3 setup.py --prefix=/path/to/CODE-ASTER