일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Linux
- 토막잭슨
- 양자 플라즈몬
- gnuplot
- impact factor
- octopus
- nature photonics
- 학술지
- 전자기학
- Photolithography
- 플라즈몬
- 그래프
- 자연 나노기술
- 과학
- TDDFT
- 자연
- 나노포토닉스
- 자연 광자학
- 광자학
- 메타표면
- 3분논문
- 리눅스
- Jackson Electrodynamics
- 물리학
- 초록빛논문
- 메타물질
- metasurface
- 겨울떨개
- 논문
- 우분투
Archives
- Today
- Total
과꾸로
[Octopus] 설치하기. TDDFT 계산 프로그램. 본문
[Octopus] 설치하기. TDDFT 계산 프로그램.
Time-Dependent Density Functional Theory (TDDFT) 계산 프로그램인 Octopus를 Ubuntu Virtual Box 에다가 설치하는 방법을 적어둔다.
1.
설치방법 설명서를 따라 설치한다. (설명서 위키)
$ tar xzf octopus-5.0.1.tar.gz
$ cd octopus-5.0.1
$ ./configure
$ make
$ make install
압축풀고, 늘 하듯이 (1) ./configure, (2) make, (3) make install 하라는 말임.
흐흐.
2.
Fortran 90 compiler에서 막혀서 못 하고 있음. ㅋㅋㅋㅋ ㅡㅡ;;;
어쩔까 하다가 어디서 찾아보니 gfortran을 깔면 된다고 함.
$ sudo apt-get install gfortran
gfortran을 깔아서 해결했는데
이번에는 다른 라이브러리가 없다고...
configure: error: Could not find required libxc library
TDDFT에서만 쓰는 특별한 라이브러리인 것 같다. 그래서 내려받음. (http://www.tddft.org/programs/octopus/wiki/index.php/Libxc_3.0.0)
그래서 libxc를 받고 설치했더니
$ ./configure
$ sudo make
이번엔 이런 에러 메세지가 뙇!
make: Warning: File 'Makefile' has modification time 10 s in the future
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /media/sf_UbuntuVB2/src/libxc-3.0.0/missing autoconf
/media/sf_UbuntuVB2/src/libxc-3.0.0/missing: 줄 81: autoconf: 명령어를 찾을 수 없음
WARNING: 'autoconf' is missing on your system.
You should only need it if you modified 'configure.ac',
or m4 files included by it.
The 'autoconf' program is part of the GNU Autoconf package:
<http://www.gnu.org/software/autoconf/>
It also requires GNU m4 and Perl in order to run:
<http://www.gnu.org/software/m4/>
<http://www.perl.org/>
Makefile:410: recipe for target 'configure' failed
make: *** [configure] Error 127
잘 모르겠으니 그래서 일단
$ sudo apt-get install autoconf
를 함.
autoconf를 깔고, 다시 configure 하고 make, make install 시도
오 뭔가 메이크가 되고 있다.
libxc를 깔고,
다시 octopus로 돌아와
컨피규어, 메이크, 메이크 인스톨 삼종세트를 시전.
3.
그러고 나서 다시 '문어'로 돌아와서
또 안 돼서 보니
./configure 할 때,
--with-libxc-prefix=DIR/ 라고 해야한다고 한다.
$ ./configure --with-libxc-prefix=/media/sf_UbuntuVB2/src/libxc-3.0.0
라고 함.
뭐 디테일한 경로는 자세히 보지 말자.
checking for libxc... no (-I /media/sf_UbuntuVB2/src/libxc-3.0.0/include -L/media/sf_UbuntuVB2/src/libxc-3.0.0/lib -lxc)
configure: error: Could not find required libxc library ( >= v 2.0.0).
아오 여기서 막혀서 일단 쉼.
config.log를 봐도 뭐 이건...
gfortran: error: /media/sf_UbuntuVB2/src/libxc-3.0.0/lib/libxcf90.a: No such file or directory
gfortran: error: /media/sf_UbuntuVB2/src/libxc-3.0.0/lib/libxc.a: No such file or directory
찾아보니 libxc-2.2.x 을 쓰라고 해서 그걸 받아야겠다. ㅎㅎ ㅡㅡ;;;
4.
이쯤에서 지쳐서 혹시나해서 우분투용 바이너리를 받아봄. (http://www.tddft.org/programs/octopus/wiki/index.php/Octopus_5.0.1)
바이너리 받아서 해도 안 되네.
아오....
amd64 용이라서 내꺼에서 안 된다고 함. 사실 어차피 Virtual Box에서 가상으로 돌리는 거라 amd64 로 하나 더 우분투를 깔면 되긴 하지만, 여기서 괜한 오기 발동. 내가 기어이 그냥 지금 있는 거에 깔고만다! 라는 ㅋㅋㅋ
여튼
뭔가 수상해서 config.log 파일을 다시 살펴보고
거기에서 missing이라고 나오는 파일을 find 명령을 써서 어디 있는지 잘 찾아봄 그랬더니 어딘가에 있다. 그 경로로 configure 할 때 지정.
$ ./configure --with-libxc-prefix=/opt/etsf
오홀 이거 됐다. libxc-3.0.0로 성공.
저 위에 할 때 libxc 경로지정이 잘못됐던 거임.
5.
그랬더니 이제 또 다른 에러가.
configure: error: could not find required BLAS library
어딘가에서 BLAS 3.6.0을 받고
압축을 풀어서 봤더니 configure는 없고 Makefile만 있길래
그냥 sudo make 때림.
그러니까 뭔가 되는 듯.
아 그래도 좀 안 돼서 이거 함. 그냥 되면 이상하지 ㅋㅋ
$ sudo apt-get install liblapack-dev
훨신 편하네
다시 문어로 돌아와서 컨피규어 하는데
checking for sgemm in -lblas... yes
로 바뀜 오케!!!
6.
하지만 기쁨도 잠시.
checking for gsl-config... no
*** The gsl-config script installed by GSL could not be found.
*** If GSL was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the GSL_CONFIG environment variable to the
*** full path to gsl-config.
configure: error: could not find required GSL library
이번엔 GSL library가 없다고 한다. 이건 뭘까 ㅡㅡ;;;
무슨 Scientific Library 라고 한다.
그래서 이거 때림
$ sudo apt-get install libgsl0ldbl
이것도 때림
$ sudo apt-get install libgsl0-dev
아무래도 ./configure option을 바꿔야 할 듯.
오 그냥 해도 됐다.
7.
이번엔 또 다른 라이브러리가 없다고.
FFT
checking for dfftw_init_threads in -lfftw3_threads... no
configure: error: Could not find required FFT library.
여기서 받으면 됨.
FFTW 3.3.4 를 받음.
이건 꽤 유명한 라이브러리인데,
예상했다시피 푸리에 변환 해주는 물건이다.
tar로 받아서 컨피규어 메이크 메이크 인스톨 삼종세트 한 번 더 때려주고.
잠깐 궁금해서 AUTHORS 파일을 vi로 열어보니 역시나 들어있는 Steven G. Johnson의 이름.
이거 설치하는 게 생각보다 시간이 꽤 걸리네. 그래도 이 정도야 뭐. 라곤 하지만 벌써 이틀 정도 그냥 지나가고 있다. ㅎㅎㅎ
일단 여기까지만 하고 집에 가자 ㅋㅋ
7월 19일
8.
여기부터 7월 20일
fftw를 깔다가
sudo make 단계에서
missing makeinfo라는 에러 메세지가 나와서
WARNING: 'makeinfo' is missing on your system.
어딘가를 찾아보니 texinfo 라는 걸 깔으라고 해서
이젠 뭐가 뭔지도 모르겠고 자꾸 산으로 가긴 하지만 그래도 일단 깔았다.
$ sudo apt-get install texinfo
ㅎㅎㅎ
언젠가 끝나겠지 ㅎㅎ
다시 fftw 에서 닷 슬래시 컨피규어 실행
이렇게 해서 fftw 설치 완료.
이제 어디로 다시 가야되지?
아, 다시 옥토푸스로 가야지.
이거 한 번 더.
$ ./configure --with-libxc-prefix=/opt/etsf
어! 방금 configure가 끝난 거 같은데?
하지만 안심할 수 없지.
sudo make 때려보고
오 되네!
그럼 sudo make install도 때려보고.
오 됐다!!!!!
9.
가만 이제 뭐 하지?
실행파일 위치를 찾아보니 여기인 듯
/opt/etsf/bin/octopus
/etc/environment 에 가서 PATH를 추가해주면 된다. 그리고 변경내용 적용.
$ source environment
PATH가 잘 바뀌었는지 확인하려면
$ echo $PATH
드디어 실행!
$ octopus
될 리가 없지 ㅡㅡ;;;
이렇게 쉽게 될 리가 없지.
역시 마지막까지 방심하지 못하게 하는군.
*** Fatal Error (description follows)
Error initializing parser
Cannot open input file!
Please provide an input file with name inp in the current workdir
뭔소린지 잘 모르겠는 에러가 떴다. 일단 실행을 하면 기본 화면은 떠야하는 거 아닌가? 커맨드 모드로 라인 바이 라인으로 되는 게 뜰 줄 알았는데, 시작부터 뭐 파일을 하나 넣으라고 하네.
그 와중에 이런거 한 번 해보자.
$ octopus -v
octopus 5.0.1 (svn version 15042)
옥토푸스 매뉴얼에서 수소원자 튜토리얼을 보니 inp라는 걸 만들라고 한다. 그리고 저 에러 메세지 말대로 그 파일 이름을 무려 inp로 저장해서 두어야 한다.
그래서
CalculationMode = gs
%Coordinates
'H' | 0 | 0 | 0
%
이렇게 생긴걸 복사붙이기 해서 inp라는 이름의 텍스트파일로 저장.
그리고 다시
$ octopus
그랬더니!!!!
드디어 성공!!!!
10.
그러니까 이거 하면서 같이 깔은 게,
1. gfortran
2. libxc
3. autoconf
4. BLAS
5. GSL library
6. fftw
7. makeinfo
ㅋㅋㅋㅋ
많기도 하구나.
이제 가지고 놀 장난감이 생겼으니 이것저것 재밌게 해봐야겠다.
끝.
2016년 7월 20일
겨울떨개
'연구자료' 카테고리의 다른 글
NKT Super continuum laser 사용법 (0) | 2016.07.21 |
---|---|
[Linux] 리눅스 find 명령어 사용법 (0) | 2016.07.19 |
[Inkscape] 그림 기울이기: 3D 효과 Perspective (0) | 2016.07.04 |
VirtualBox 가상상자에 우분투 공유폴더 만들기 (0) | 2015.11.26 |
3차원 그림도구 Blender 블렌더 - 회전하기, 배열 만들기 (0) | 2015.11.19 |
Comments