본문 바로가기

Linux

[Linux] CentOS에서 Quantum Espresso 컴파일 에러 해결

Quantum Espresso 7.3 버젼을 컴파일 해달라는 요청이 있어서 내부 개발 서버에 컴파일을 했다.

내부서버 OS는 CentOS Linux release 7.9.2009 버젼이다.

 

Quantum Espresso 소스 파일을 해당 Github에서 다운받았고, README 파일에 있는 방법을 그대로 따라했다.

소스파일이 있는 경로에서 아래 명령어를 실행했다.

./configure
make all

./configure를 하면 make.inc 등 make를 하는데 필요한 파일들이 생성된다.

그리고 make all 실행시 MakeFile에 정의된 대로 all 옵션에 해당하는 파일들을 컴파일 한다.

 

Assumed-shape array 'zvec' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable

처음 위와 같은 에러가 발생했다.

에러를 그대로 구글에 검색하니, gfortran 4.9 이하 버젼에서 발생하는 버그라고 한다. 
(https://www.mail-archive.com/users@lists.quantum-espresso.org/msg39556.html)

 

gfortran --version

버젼을 확인해보니 4.8 버젼이다.

버젼 업데이트를 진행하려고 찾아봤는데 아래 두 패키지를 설치하면 최신 버젼의 gfortran이 포함되어 있다고 한다.

sudo yum install centos-release-scl-rh
sudo yum install devtoolset-7-toolchain

 

설치를 진행했다.

여전히 같은 에러가 발생. 확인을 해보니 최신 버젼의 gfortran을 여전히 사용하고 있지 않다.

아래 블로그에서 힌트를 얻을 수 있었다.

https://m.blog.naver.com/kimmingul/220306403922

 

[Linux] 리눅스에서 gfortran 최신버전 설치하기

리눅스를 설치하면 경우에 따라 예전버전 gcc가 설치되는 경우가 있다. 임상약리학에서 사용하는 NONM...

blog.naver.com

 

scl enable devtoolset-2 bash
source /opt/rh/devtoolset-2/enable

위 두 개 중 하나를 실행하면 최신 버젼의 gfortran을 사용할 수 있다고 해서 아래에 있는 명령어를 실행했다.

 

컴파일이 에러없이 잘 됐다.

'Linux' 카테고리의 다른 글

터미널(bash script)에서 slack으로 메세지 전송하기  (0) 2023.10.06