[DevTip] Ubuntu에 Calculix 설치하기...
말 그대로 Ubuntu 12.04 64비트 버전에 Calculix를 설치하는 과정 정리.
소스 받아서 컴파일하기는 시간 여유가 없어서 Calculix 홈페이지에서 제공하는 바이너리 파일을 써 본다.
[Graphical Interface - cgx]
1. www.dhondt.de에서 cgx의 바이너리 파일(a Linux executable 링크)을 받는다.
2. bunzip2로 압축을 푼다. cgx_2.7 파일이 생긴다.
3. 생성된 cgx_2.7 파일을 /usr/local/bin 으로 이동. (sudo 권한 필요) 이 때, cgx_2.7 파일명을 cgx로 바꾸는 게 편리할 수도...
4. cgx_2.7 또는 cgx 실행 !!!
[Solver - ccx]
1. www.dhondt.de에서 ccx의 바이너리 파일(a Linux executable 링크)을 받는다.
2. bunzip2로 압축을 푼다. ./CalculiX/ccx_2.7/src/ccx_2.7 파일이 생긴다.
3. 생성된 ccx_2.7 파일을 /usr/local/bin 으로 이동. (sudo 권한 필요) 이 때, ccx_2.7 파일명을 ccx로 바꾸는 게 편리할 수도...
4. ccx_2.7 또는 ccx 실행 !!!
요기서 libgfortran.so.2 파일을 찾을 수 없다는 말이 나올 수 있는데, 이 때는 sudo ln -s /usr/lib/x86_64-linux-gnu/libgfortran.so.3 /usr/lib/libgfortran.so.2 명령으로 링크를 걸어주면 된다.
5. 다시 ccx_2.7 또는 ccx 실행 !!!
또 문제!
심볼 링크가 안 된단다. gcc 버전 불일치로 인한 문제인 듯. 즉, 다시 컴파일 해야 함.
Ubuntu에서 Calculix를 컴파일하기 위한 좋은 설명서는
http://www.libremechanics.com/?q=node/9를 참고!!!
다시 중요한 것만 정리해 보자. (중간에 점검해야 할 부분 있음)
소스 받아서 컴파일하기는 시간 여유가 없어서 Calculix 홈페이지에서 제공하는 바이너리 파일을 써 본다.
[Graphical Interface - cgx]
1. www.dhondt.de에서 cgx의 바이너리 파일(a Linux executable 링크)을 받는다.
2. bunzip2로 압축을 푼다. cgx_2.7 파일이 생긴다.
3. 생성된 cgx_2.7 파일을 /usr/local/bin 으로 이동. (sudo 권한 필요) 이 때, cgx_2.7 파일명을 cgx로 바꾸는 게 편리할 수도...
4. cgx_2.7 또는 cgx 실행 !!!
[Solver - ccx]
1. www.dhondt.de에서 ccx의 바이너리 파일(a Linux executable 링크)을 받는다.
2. bunzip2로 압축을 푼다. ./CalculiX/ccx_2.7/src/ccx_2.7 파일이 생긴다.
3. 생성된 ccx_2.7 파일을 /usr/local/bin 으로 이동. (sudo 권한 필요) 이 때, ccx_2.7 파일명을 ccx로 바꾸는 게 편리할 수도...
4. ccx_2.7 또는 ccx 실행 !!!
요기서 libgfortran.so.2 파일을 찾을 수 없다는 말이 나올 수 있는데, 이 때는 sudo ln -s /usr/lib/x86_64-linux-gnu/libgfortran.so.3 /usr/lib/libgfortran.so.2 명령으로 링크를 걸어주면 된다.
5. 다시 ccx_2.7 또는 ccx 실행 !!!
또 문제!
심볼 링크가 안 된단다. gcc 버전 불일치로 인한 문제인 듯. 즉, 다시 컴파일 해야 함.
Ubuntu에서 Calculix를 컴파일하기 위한 좋은 설명서는
http://www.libremechanics.com/?q=node/9를 참고!!!
다시 중요한 것만 정리해 보자. (중간에 점검해야 할 부분 있음)
- gfortran 라이브러리 링크 잡기
- sudo ln -s /usr/lib/x86_64-linux-gnu/libgfortran.so.3 /usr/lib/libgfortran.so.2
- 필요한 개발 툴 설치 (컴파일러 등등)
- 파일들 받기
- CCX
- CGX
- Spooles 2.2
- ARPACK & PATCH
- /usr/local/CalculiX, /usr/local/SPOOLES.2.2, /usr/local/ARPACK에 소스 설치
- SPOOLES 컴파일
- /usr/local/sppoles.2.2/Tree/src/makeGlobalLib 파일에서
drawTree.c를 draw.c로 변경 - /usr/local/spooles.2.2/Make.inc 파일에서
CC=/usr/bin/cc 로 수정 - /usr/local/sppoles.2.2에서
$ sudo make lib; cd MT/src; sudo make - ARPACK 컴파일
- /usr/local/ARPACK/ARmake.inc 파일에서
home=/usr/local/ARPACK
PLAT=linux
FC=gfortran
FFLAGS=-O2
MAKE=/usr/bin/make 로 수정 - /usr/local/ARPACK/UTIL/second.f 파일에서
EXTERNAL ETIME 맨 앞에 *를 추가해 주석 처리!!
(링크에서 처럼 EXTERNAL 바로 앞에 *가 추가되어 *EXTERNAL이 되면 안 됨) - /usr/local/ARPACK에서
$ sudo make lib - Calculix 컴파일
- /usr/local/Calculix/ccx_2.7/src에서
Makefile을 Makefile_ST로 복사하고, Makefile_MT를 Makefile로 복사 - Makefile에서
LIBS에 ../../../ARPACK/libarpack_linux.a 추가 - /usr/local/Calculix/ccx_2.7/src에서
$ sudo make - 성공적으로 작업이 끝나면 ccx_2.7_MT 파일이 생성되는데, 이걸 /usr/local/bin에 이동(또는 복사). 이 때 이름을 ccx로 바꿔도 무방
- 실제 사용 시...
$ export OMP_NUM_THREADS=<number of threads>
$ ccx -i <jobname> - ccx로 작업 실행시 계산과 factoring에 사용되는 cpu 개수가 표시되는데, 이게 OMP_NUM_THREADS로 지정한 <number of threads>와 같으면 OK!
- /usr/local/에 있는 ARPACK, Calculix, SPOOLES.2.2는 삭제해도 무방~
댓글
댓글 쓰기