Quantum Espresso配置执行make all时出现冲突错误,如何解决?
解决Quantum Espresso编译时LAPACK拉取冲突的问题
问题原因
编译QE执行make all时,程序会自动拉取指定版本的LAPACK库,但你的/rhome/Ragab/qe-7.1/install目录下存在.appveyor.yml和.travis.yml两个未被Git跟踪的文件,Git在切换分支/拉取指定版本时,会因为这些文件会被覆盖而终止操作,导致编译失败。
解决方法
方法一:直接删除冲突文件(推荐,若不需要这些文件)
- 进入QE的install目录:
cd /rhome/Ragab/qe-7.1/install - 删除冲突文件:
rm .appveyor.yml .travis.yml - 返回QE根目录重新编译:
cd .. && make all
方法二:备份文件后再删除(若需要保留这些文件)
- 先创建备份目录(如果不存在):
mkdir -p ~/qe_lapack_backup - 进入install目录并备份文件:
cd /rhome/Ragab/qe-7.1/install mv .appveyor.yml .travis.yml ~/qe_lapack_backup/ - 返回根目录重新编译:
cd .. && make all
方法三:使用系统已安装的LAPACK库(避免自动拉取)
如果你的系统已经安装了LAPACK和BLAS库,可以跳过QE自动拉取的步骤,直接配置使用系统库:
- 编辑QE根目录下的
make.inc文件,找到BLAS和LAPACK相关配置项,替换为系统库的链接参数,例如:BLAS_LIBS = -lblas LAPACK_LIBS = -llapack - 保存文件后执行编译:
make all
内容的提问来源于stack exchange,提问作者Derive D1
相关产品推荐
相关产品推荐

