@Amadeus 在 preCICE软件在CentOS7超算集群上无root权限从源码编译安装记录贴 中说:
但是如果碰到了如下和_MT相关的错误
此处错误的原因在于spooles库编译时没有开启多线程(Multi-Thread),如果你的calculix-preCICE不需要启用多线程,那么就无需往下看了.
spooles多线程编译
@Amadeus 在 preCICE软件在CentOS7超算集群上无root权限从源码编译安装记录贴 中说:
spooles可以按照指南编译
按照preCICE官方给出的指南是默认没有打开spooles库的多线程编译选项的.
因此在make lib之后,需要进入 spooles库所在路径/spooles.2.2/MT/src 中,然后执行
make makeLib
注意大小写敏感. 然后就会把多线程支持库合并编译进之前生成的spooles.a文件.
最后回到calculix-adapter文件夹,make clean清理之前生成的文件,把makefile文件第55行的CFLAGS改回来即可
CFLAGS = -Wall -O3 -fopenmp $(INCLUDES) -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DUSE_MT
最后 make -j 重新编译