[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를 참고!!!

다시 중요한 것만 정리해 보자. (중간에 점검해야 할 부분 있음)

  1. gfortran 라이브러리 링크 잡기
    1. sudo ln -s /usr/lib/x86_64-linux-gnu/libgfortran.so.3 /usr/lib/libgfortran.so.2
  2. 필요한 개발 툴 설치 (컴파일러 등등)
  3. 파일들 받기
    1. CCX
    2. CGX
    3. Spooles 2.2
    4. ARPACK & PATCH
    5. /usr/local/CalculiX, /usr/local/SPOOLES.2.2, /usr/local/ARPACK에 소스 설치
  4. SPOOLES 컴파일
    1. /usr/local/sppoles.2.2/Tree/src/makeGlobalLib 파일에서
      drawTree.cdraw.c로 변경
    2. /usr/local/spooles.2.2/Make.inc 파일에서
      CC=/usr/bin/cc 로 수정
    3. /usr/local/sppoles.2.2에서
      $ sudo make lib; cd MT/src; sudo make
  5. ARPACK 컴파일
    1. /usr/local/ARPACK/ARmake.inc 파일에서
      home=/usr/local/ARPACK
      PLAT=linux
      FC=gfortran
      FFLAGS=-O2
      MAKE=/usr/bin/make
      로 수정
    2. /usr/local/ARPACK/UTIL/second.f 파일에서
      EXTERNAL ETIME 맨 앞에 *를 추가해 주석 처리!!
      (링크에서 처럼 EXTERNAL 바로 앞에 *가 추가되어 *EXTERNAL이 되면 안 됨)
    3. /usr/local/ARPACK에서
      $ sudo make lib
  6. Calculix 컴파일
    1. /usr/local/Calculix/ccx_2.7/src에서
      Makefile을 Makefile_ST로 복사하고, Makefile_MT를 Makefile로 복사
    2. Makefile에서
      LIBS에 ../../../ARPACK/libarpack_linux.a 추가
    3. /usr/local/Calculix/ccx_2.7/src에서
      $ sudo make
  7. 성공적으로 작업이 끝나면 ccx_2.7_MT 파일이 생성되는데, 이걸 /usr/local/bin에 이동(또는 복사). 이 때 이름을 ccx로 바꿔도 무방
  8. 실제 사용 시...
    $ export OMP_NUM_THREADS=<number of threads>
    $ ccx -i <jobname>
  9. ccx로 작업 실행시 계산과 factoring에 사용되는 cpu 개수가 표시되는데, 이게 OMP_NUM_THREADS로 지정한 <number of threads>와 같으면 OK!
    1. /usr/local/에 있는 ARPACK, Calculix, SPOOLES.2.2는 삭제해도 무방~





댓글

이 블로그의 인기 게시물

환경개선부담금

[DevTip] Windows에서 tail 쓰기...