mailoliver的个人博客分享 http://blog.sciencenet.cn/u/mailoliver

博文

openmpi+gfortran编译ShengBTE

已有 1040 次阅读 2023-1-7 17:56 |个人分类:热导|系统分类:科研笔记

网上很多ShengBTE编译安装的帖子推荐大家使用mpiifort(intel编译器)。我的系统中也有intel编译器,但是编译成功后,无法执行ShengBTE,老是报错,segmentation fault。

openmpi+gfortran+MKL编译ShengBTE

  1. 复制arch.make.example到Src目录中,并命名为arch.make

  2. 将其中内容修改为

export FFLAGS=-O3 #动态编译

export LDFLAGS=-L/usr/lib/x86_64-linux-gnu -lsymspg #库文件spglib位置

export MPIFC=mpif90.openmpi  #openmpi+gfortran编译器

export MKLROOT=/opt/intel/oneapi/mkl/latest/lib/intel64  #MKL地址

MKL=$(MKLROOT)/libmkl_lapack95_lp64.a -Wl,--start-group \

$(MKLROOT)/libmkl_intel_lp64.a                          \

 $(MKLROOT)/libmkl_sequential.a                         \

 $(MKLROOT)/libmkl_core.a -Wl,--end-group -lpthread -lm

export LAPACK=$(MKL)

export LIBS=$(LAPACK) -ldl  #加上-ldl 显示加载动态函数库

    3. make


特别说明:如果在arch.make最后一行不加上-ldl,报错:

/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/intel64/libmkl_core.a(mkl_memory_patched.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5'




https://blog.sciencenet.cn/blog-3471958-1370982.html

上一篇:[转载]gpaw 安装合集(在线、离线、非root)(linux)-转自知乎
收藏 IP: 120.36.249.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-28 17:17

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部