JASMIN & NEMO Installation (new)
# 所用平台
系统:Fedora 38 Workstation Edition 64 位
GCC 13.2.1 (Red Hat)
# GCC 4.8.5
下载地址
参考
# 依赖安装
sudo yum install glibc-devel.i686 libstdc++-devel.i686 libstdc++-devel.x86_64 | |
sudo yum install libstdc++-static glibc-static gcc-c++ |
在源码文件夹中 ./contrib/download_prerequisites
可下载好 mpfr-2.4.2,mpc-0.8.1,gmp-4.3.2,此外还需下载 isl-0.11.1,cloog-0.18.0 并解压到源码文件夹。
cd gcc-4.8.5 | |
./contrib/download_prerequisites | |
wget https://gcc.gnu.org/pub/gcc/infrastructure/isl-0.11.1.tar.bz2 | |
wget https://gcc.gnu.org/pub/gcc/infrastructure/cloog-0.18.1.tar.gz | |
tar -jxvf isl-0.11.1.tar.bz2 | |
tar -zxvf cloog-0.18.1.tar.gz | |
mv isl-0.11.1 isl | |
mv cloog-0.18.1 cloog |
# 正常安装
为了防止出错在源码文件夹外编译安装。不指定 enable-language
时默认安装所有语言,但会有库缺失,可能编译不通过。
```bash | |
cd .. | |
mkdir gccbuild | |
cd gccbuild | |
../gcc-4.8.5/configure --prefix=/usr/local/gcc-4.8.5 --enable-languages=c,c++,fortran | |
make | |
make check | |
sudo make install |
参考
# 错误处理
用高版本 GCC 编译会出现很多不兼容问题。此版本已修复大部分问题。
# bool spill_indirect_levels
类型错误
修改 x_spill_indirect_levels
类型为 unsigned char
.
参考
# GDB 9.2
由于使用旧版 gcc 时系统 gdb 不可用,需重新编译安装旧版 gdb。
下载地址
sudo install texinfo !编译gdb手册用 | |
tar zxvf gdb-9.2.tar.gz | |
cd gdb-9.2 | |
mkdir build | |
cd build | |
../configure --disable-host-shared --prefix=/usr/local/gdb-9.2 | |
make | |
sudo make install |
# 错误处理
# #error “Please include config.h first.”
nat/amd64-linux-siginfo.c: Include “gdbsupport/common-defs.h” (which in turn includes <gnulib/config.h>) before include of <signal.h>.
参考
# JASMIN 4.5.2
官网:中物院高性能数值模拟软件中心 JASMIN,可申请安装包。
获得安装包后,执行 sh jasmin4-4.5.2-Linux-x86_64.sh
,按提示操作。
建议以版本名作为安装文件夹,如 /home/ning/jasmin-4.5.2
,不选择自动更新环境变量,在下文中统一设置。
在使用 JASMIN 时需更新项目 CMakeLists.txt
的路径,可参考 OMARE 学习使用(一)。
# Netcdf 4.4
下载地址
root 登录,启用 GCC 4.8.5 后 →参考本页环境变量配置
# zlib 1.2.8
tar -zxvf zlib-1.2.8.tar.gz | |
cd zlib-1.2.8 | |
./configure --prefix=/usr/local/netcdf | |
make && make check | |
make install |
# hdf5 1.8.13
tar -zxvf hdf5-1.8.13.tar.gz | |
cd hdf5-1.8.13 | |
./configure --prefix=/usr/local/netcdf --with-zlib=/usr/local/netcdf/ --enable-shared --enable-parallel | |
make && make check | |
make install |
# netcdf 4.3.2
修改 libsrc4/nc4file.c
,参考这里。
tar -zxvf netcdf-4.3.2.tar.gz | |
cd netcdf-4.3.2 | |
CPPFLAGS=-I'/usr/local/netcdf/include -I/home/ning/jasmin-4.5.2/include' LDFLAGS=-L/usr/local/netcdf/lib ./configure --prefix=/usr/local/netcdf --disable-dap --enable-parallel-tests | |
make && make check | |
make install |
# netcdf-fortran 4.4.0
export LD_LIBRARY_PATH=/usr/local/netcdf/lib:$LD_LIBRARY_PATH | |
tar -zxvf netcdf-fortran-4.4.0.tar.gz | |
cd netcdf-fortran-4.4.0 | |
CPPFLAGS='-I/usr/local/netcdf/include -I/home/ning/jasmin-4.5.2/include' LDFLAGS=-L/usr/local/netcdf/lib ./configure --prefix=/usr/local/netcdf --enable-parallel-tests | |
make && make check | |
make install | |
make check |
第一次 check 可能因找不到库报错,install 后 check 通过。
参考
# Nemo
# xios
svn checkout http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-2.0 xios-2.0 |
Then modify files arch-GCC_LINUX.*
in arch
, add the -ldl
flag to HDF5_LIB
in arch-GCC_local.path
if build hdf5 library as a not shareable. Remove -lcurl
flag. Check the used hdf5 version.
The boost_dir
and OASIS_dir
are not necessary, just leave them.
Finally, run
./make_xios --arch GCC_local |
# Nemo
svn checkout https://forge.ipsl.jussieu.fr/nemo/svn/NEMO/releases/release-4.0 nemo4.0 |
Copy and rename an configuration file as arch-gfortran_local.fcm
from an architecture similar to our own. Set the following variables:
%NCDF_HOME /usr/local/path/to/netcdf | |
%HDF5_HOME /usr/local/path/to/hdf5 | |
%XIOS_HOME /home/$( whoami )/path/to/xios-trunk |
Compile a reference configuration:
./makenemo -m 'gfortran_local' -n 'NW2' -r 'ORCA2_ICE_PISCES' del_key 'key_top key_nosignedzero' -j20 |
# 环境变量配置
export PATH="/usr/local/gcc-4.8.5/bin:$PATH" | |
export LD_LIBRARY_PATH=/usr/local/gcc-4.8.5/lib64:$LD_LIBRARY_PATH | |
export PATH="/usr/local/gdb-9.2/bin:$PATH" | |
export LD_LIBRARY_PATH=/usr/local/gdb-9.2/lib:$LD_LIBRARY_PATH | |
export NETCDF=/usr/local/netcdf | |
export PATH=$NETCDF/bin:$PATH | |
export LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH | |
CPPFLAGS='-I/usr/local/netcdf/include' | |
export LDFLAGS='-L/usr/local/netcdf/lib' | |
export PATH="/home/ning/jasmin-4.5.2/bin:$PATH" | |
echo 'Env var loaded.' |
使用 Jasmin 前执行 source .workenv
。
若在 .bashrc
中设置 gcc 变量会导致系统启动失败无法进入登录界面( F2
可看到系统加载失败信息),此时需要用 Linux 系统安装 U 盘启动新系统(不安装!可在 Fedora 官网下载 U 盘写入工具)后挂载本机磁盘文件系统,修改 GCC-4.8.5
文件夹路径,删除 .bashrc
中新增的路径及 /etc/ld.so.conf
新增的路径,这时可以进入登录界面。移走 /etc/ld.so.cache
重置 ldconfig
。
若反复卡死在登录界面可按 ctrl+alt+F2
命令行登入,删除追加的环境变量。在 .bashrc
中设置 Netcdf 的 LD_LIBRARY_PATH
会导致这种情况。
# 其他
# samba 文件共享服务 (root)
官方手册: How to create a Samba share
ifconfig 查看 samba 服务 ip
比如 180.170.100.21
在 mac 访达中访问服务器 smb://180.170.100.21
在 Windows 运行中访问服务器 \\180.170.100.21
其他参考: Samba 服务器超详细安装、配置
- 服务管理
service smb stop/start/restart
- 状态查看
sudo smbstatus
# matlab
安装时图形化窗口打不开,需查看 ./bin/glnxa64/MATLABWindow 缺失的库
sudo rm /bin/glnx64/libfreetype.so*
参考
# zsh
参考
p10k 需要安装对应字体。