본문 바로가기

Gate

ubuntu 에서 gate 설치하기.

반응형
  gate는 몬테카를로 시뮬레이션 툴입니다. gate의 홈페이지http://opengatecollaboration.healthgrid.org/에는 쥐를 PET으로 촬영하는 재미있는 이미지를 볼수 있습니다. 이와 같이 PET, SPECT등에서 나타나는 물리 현상을 계산해서 실제 실험때의 데이터와 같은 데이터를 얻을수 있게 해주는 강력한 시뮬레이션 툴입니다.
  일단 설명에 앞서 설치 피씨는 기본적인 프로그래밍에 필요한 vim이나 gcc,qt,ctags등이 미리 설치 되어 있는 pc입니다. 그렇기 때문에 아예 순수한 우분투 설치 피씨에서 생기는 문제가 이 글에서는 발생하지 않을 수 있으니 그경우 댓글을 남겨주세요. 최대한 도움이 되도록 노력하겠습니다.

  위 홈피에서 registration 절차를 통과한후 로그인하면 위 화면과 같은 게이트 다운로드 페이지로 이동할수 있습니다. 이중 마음에 드는 게이트 버전을 설치하면 됩니다. 같은 열에 명시 된 프로그램은 게이트 설치 전에 설치가 완료 되어야 합니다. 버전 또한 다르면 안되고 명시된 바에 맞추어 줘야 합니다. 이때 특히 주의 할 점은 gcc의 버전입니다. 현재(2009.10) gcc의 최신버전은 4.3이고 우분투 또한 기본으로 4.3으로 설정 되어 있습니다. 이 버전을 고쳐줘야 하는 것 입니다. 터미널을 열고 다음 명령을 입력합니다.
sudo apt-get install gcc-4.2 g++-4.2 ctags
 4.2버전의 컴파일러를 얻었으니 설정을 변경합니다.
sudo rm /usr/bin/gcc /usr/bin/g++
sudo ln -s gcc-4.2 /usr/bin/gcc
sudo ln -s g++-4.2 /usr/bin/g++
 이제 설치 준비가 완료 되었습니다. 위에서 설치한 ctags는 lmf의 설치에 필요 합니다.
 Gate와 관련 프로그램들을 다운 받아서 준비 합니다. 이 과정은 구글링을 통해 쉽게 처리 하실수 있으실 것입니다.
 @ 반드시 표기된 버전으로 설치하도록 하세요. 새로운 버전으 있다고 그걸로 하시는건 문제가 없을 확률이 높지만 추천하진 않습니다. 특히 geant의 경우 화면구성을 담당하기 때문에 디스플레이가 안되는 문제를 격게 되실수도 있습니다. ( gate 5.0에서 geant4.9.2를 설치하는 경우 이와 같은 문제가 발생합니다.)

1. CLHEP
  인스톨 과정을 시작합니다...^^
  위 5 아이들중 첫번째는 CLHEP입니다.
http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/
  위는 clhep의 다운로드 사이트 입니다.
http://wwwasd.web.cern.ch/wwwasd/lhc++/INSTALLATION/clhep-2.0.html
  위는 clhep의 인스톨 가이드 입니다.
  내용을 보면 아시겠지만 크게
./configure
make
make install
  로 구성됩니다.
  이때 설치는 /usr/local에 설치 되며 변경을 원할경우
./configure --prefix=[folder]
make
make install
  로 해주시면 됩니다.
  저 같은 경우 기본 설정을 격하게 사랑하기 때문에 폴더 설정 없이 /usr/local에 설치하도록 하겠습니다.
./configure 명령 후 스샷입니다.

이게 정상 설치가 되었을때 입니다.

위와 같이 나올 경우엔 c++의 설정 이 잘못 되었을때 입니다. 위의 gcc,g++설정을 다시 해 주시면 설치 될 것입니다.
  다음 명령으로 make 입니다. 이 명령은 clhep의 소스들을 컴파일 해서 설치 가능한 상태로 만드는 과정 입니다. 그러니 이 과정에서는 /usr/local에 설치하는게 아님으로 슈퍼유저의 권한 없이 make 명령을 내려 주도록 합니다.

  여기에서 중요한 팁을 드리겠습니다. 가끔 -l[xxx]와 같은 아이가 없다면서 빌드 에러를 출력하는 g++ or gcc를 보실수 있으실 것입니다. 이는 보통 범용적인 라이브러리 들이기 때문에 관련 검색어로 찾으시면 쉽게 찾으실수 있습니다. 예를 들어 -l[xxx]가 없다고 할 경우 sudo apt-get install libxxx 로 찾으면 관련 라이브러리를 찾으실수 있습니다. 하지만 이때 libxxx가 아니라 libxxx-dev을 설치 하셔야 한다는 것만 주의해 주세요.
  이와 같은 문제는 이 글dl 쓰여지면서 한번 이상은 발생할 것 이기에 그때 또 설명하겠습니다.

이번에도 문제 없이 설치 되었습니다. 그럼 make install 이전에 이 파일들을 체크하는 명령어를 내려 보겠습니다. make check로 이건 clhep의 개발자들이 추가 해 놓은 것이니 다른 프로그램에서는 왠만해서 안먹히는 명령어죠..^^
 

8가지 test중 1가지가 문제가 있습니다. 하지만 전 이 clhep를 전문으로 쓰는게 아니라 문제를 해결할 방법을 모르겠습니다.( 또 이전 게이트에서는 이 문제를 무시하고도 잘 실행 되었습니다.) 아시는 분은 지식을 나누어 주세요..^^

  다음 과정으로 make install 입니다. 이제 컴파일된 소스가 /usr/local에 설치될 순서인 거죠. 헌데 우분투의 특성 상 보통 유저는 슈퍼유저의 권한을 가지고 있지 않습니다. 그래서 명령어는 다음으로 변경 됩니다.
sudo make install
  간단합니다. 슈퍼유저 권한을 빌려서 명령어를 실행하는 것입니다.

이걸로 clhep의 설치가 완료 되었습니다.
  이후의 설치에서 프로그램들은 clhep를 사용합니다. 헌데 이녀석들에게 clhep의 위치를 알려줘야 겠죠.
  터미널을 열고  명령을 내립니다. vi ~/.bashrc
  이후 키입력은 Go 이후에
export LD_LIBRARY_PATH=[clhep 설치 폴더]/lib
  를 입력후 :w을 입력합니다.


다음과 같이 입력 되었죠. :q를 입력하고 빠져 나옵니다. 이제 새로운 터미널이 열릴때 마다 clhep의 위치는 저절로 등록 됩니다.
  이걸로 첫번째 프로그램 clhep의 설치가 완료 되었습니다.

2. root
  root는 범용적으로 여러곳에서 사용되는 아이이다 보니 우분투에서도 기본 저장소에 등록 되어져 있습니다. 하지만 Gate를 사용하시려 하는 경우 이를 사용할수 없습니다. 이유는 Gate가 실행되기 위해 쉘에서 특정변수를 지정해야 합니다. 하지만 기본 설치시 이것이 불가능 하기 때문에 절대 받아서 설치해야 합니다.
http://root.cern.ch/drupal/
  관련 파일과 문서는 여기서 획득합니다.
  따로 installguide의 경우 root 폴더의 readme/install이라는 이름으로 있습니다.
  root의 설치는 2가지로 분류 됩니다.
  환경변수 지정형과 /usr/local 설치 형 입니다.
  이때도 역시 환경변수 지정으로 해야 합니다. /usr/local설치시 눈물을 머금고 처음부터 다시 하셔야 할 수도 있으니 주의 하세요.
  명령어 리스트는 다음과 같습니다.
export ROOTSYS=<path>/root
 ./configure --enable-roofit --disable-xrootd --build=debug --disable-krb5 (ubuntu 9.10) or
 ./configure
make
  @ ubuntu 9.10 에서 Krb의 버전 변경에 따라 root의 기본설정으로는 설치가 불가능 합니다. krb5를 끄는 위쪽 명령을 사용하세요.
export 는 그냥 잘 쳐주면 끝이니까 skip하구요.
  첫번째 명령어 ./configure
  실행하면 에러가 발생합니다. 위에서 설명한 library 관련 에러 입니다.

상황에 따라서는 더 많이 발생하거나 더 적게 발생합니다. 전 여기서 멈추었지만 이전에 만든 가이드에서는 이 이전 x11에서 멈춤으로 인해 qt4를 설치 했군요. 이번엔 이미 설치 되어 있어서 곧바로 libXpm으로 이동했구요.
  아무튼 이 문제의 해결은 간단합니다.
sudo apt-get install libxpm-dev
  입니다.
  이후 다시 ./confiqure 명령을 내리면

위 스크린 샷은 install 까지 나왔지만 이는 제가 실수로 기본 설정 설치했을때 스샷이고 make만 뜨게 되어 있습니다.
앞서 과정을 잘 이행 하셨다면 이후에는 별문제 없으실 것입니다.
두번째 명령어 make (메뉴얼에서 듀얼 코어의 경우 -j2옵션을 넣으라고 합니다.
하지만 저는 -j2옵션에서 이전에 에러 난 적이 있어서 그냥 make를 즐겨 사용합니다.
이제 이녀석의 환경 변수를 지정해줘야 합니다. 하지만 이아이는 자신의 환경변수를 bin/thisroot.sh 라는 스크립트 파일에 정의해 놓습니다. 그에 따라 우린 요구하는 환경변수를 다 설정할것이 아니라 그냥 이 스크립트 파일을 bashrc에서 읽어 오게 하면 됩니다.
방법은 source <path>/thisroot.sh 입니다.

~/.bashrc라는건 이미 알고 계시죠. 이 gate의 폴더는 계속해서 사용될 것이기 때문에 GATEHOME이라는 환경변수를 추가 했습니다. 그후 해당 파일을 추가하는 거죠.

3. geant 입니다.
  이녀석도 저장소에 있지만 gate5.0이 요구하는 수준이 아니더군요. 그래서 받아둔 4.9.1.p03버전을 설치 합니다.
  다행인지 불행인지 사용자가 많아 진다면 geant도 최신버전을 우분투가 기본 지원하겠죠.
http://geant4.slac.stanford.edu/installation/
  geant4의 홈페이지에서 제공하는 가이드 보다 자세한 가이드 입니다. 상당히 잘 정리 되어 있으니 우분투에서 설치시 필요한 명령어만 나열하고 스샷을 보이는 형태로 진행 하겠습니다.
  첫번째로 해야 할일은 g2emlow라는 라이브러리를 현재 geant의 설치 폴더에 추가해 주어야 합니다.
http://geant4.web.cern.ch/geant4/support/source/G4EMLOW.6.2.tar.gz
  geant 폴더의 하위에 data라는 폴더를 만들고 이파일을 복사 한뒤 우클릭 여기에 풀기를 실행 합니다.( 텍스트가 좋으신 분은 anyway)
  즉 geant[version]/data/G4EMLOW[version] 이라는 폴더 안에 g4emlow의 내용이 다 있어야 합니다.
  완료 되었다면
  ./Configure -build
  geant의 configure는 사용자가 지정하는 셋팅을 이용해서 설치 합니다. 그 설정은 다음 url을 따라하시면 됩니다.
http://geant4.slac.stanford.edu/tutorial/installation/Geant4.9.2.p02/Linux/Geant4Build.txt
 @ 중간에 g4emlow의 폴더를 확인 하는 부분이 있습니다. 버전이 다르다면 변경해 주셔야 겠죠.
  저같은 경우 6.2를 받았는데 5.2를 요구해서 다운 그레이드 할려다가 폴더명만 바꾸어 설치 했습니다.
  하지만 왠만하면 요구하는 버전으로 깔아 주세요...ㅡㅡ;;( 11월 19일)

 이 위치는 앞서 가이드라인의 일부 입니다.
 잘따라 하셨다면

  이화면을 보시게 됩니다. 다음 명령은
./Configure

이런 결과을 보시게 되고 폴더에는 env.sh라는 파일이 생성됩니다.
이제 터미널이 켜질때 마다 이 환경설정을 지정해 주도록 .bashrc에 다음 코드를 추가 합니다.
source <path>/env.sh

이제 터미널을 열때마다 이 환경이 추가 됩니다. 하지만 이녀석...시끄럽습니다. 켜지면 어떤아이가 추가 되었는지를 통보합니다.

  이렇게 됩니다. 그래서 사일런트 마법을 영창합니다. env.sh의 상단에 다음 코드를 추가 하시면 조용해 집니다.
g4non_display='X'

입력후엔 조용해 질것입니다.

4.LMF
  이제 막바지 입니다.
  lmf의 압축을 해제 하신후
  document/LMF.pdf
  가 가이드 입니다.
  명령어는
./configure
make clean
make
  입니다. 문제 없이 설치 하실수 있으실 것 입니다.
  완료라면 congratulations라는 메시지를 보시게 될 것입니다.
  에러가 발생하면 ctags를 설치해 주시면 될 것입니다.
sudo apt-get install ctags 입니다.
  요구하는건 etags인데 왜 ctags일까 라는 의문이 생기 시나요?
  ctags안에 etags가 통합되어 들어 가 있습니다.
  이제  lmf를 환경 변수에 추가해 주어야 합니다.
export LMF_HOME=<path>/lmf_v3.0입니다.

이제 드디어 최종 보스 Gate입니다.

5. Gate
  Gate 의 인스톨 가이드는 Gate 홈피에서 다운 받으시면 됩니다. 그런데 그 내용이
---------------------------------------------------------------------------------------------------------------------------------------------------------------
1.3 Installing GATE
There is no automated procedure for the GATE installation. Following the 5 next steps to install
GATE :
  1. Download the GATE sources and data files into a new directory;
  2. Set the environment variable GATEHOME to this directory;
  3. Adapt the GATE configuration script env_gate.csh to your environment (next section);
  4. Launch the configuration script env_gate.csh by typing source env_gate.csh;
  5. Type make or gmake (depending on the name for the GNU version of make on your
      system).
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
이게 다입니다.
  참 쉽군요.
  일단 환경 설정을 해야 합니다.
export GATEHOME=<path>
  이건 .bashrc가 아닌 터미널 명령으로 처리 합니다.

다음 명령은 source env_gate.sh 입니다.
간혹 실행이 안되고 터미널이 종료 될 경우에는 위 source가 아닌 sh로 해보세요...
그러면 머가 문제인지 뜨게 됩니다. 그 문제를 해결후 다시 source로 실행해 주시면 됩니다.

이런 메시지가 뜨게 됩니다. G4VERSION이라는 변수가 없다는 군요.
강제로 만들어 줘야 겠네요.
G4VERSION=9.2
G4VERSION9=2

완료 되었습니다.

이제 make만 치시면 Gate설치 종료 입니다...^^ 긴시간 수고하셨구요..^^
Gate의 실행파일은 <gate_path>/bin/Linux-g++/Gate입니다.
이녀석을 ln을 이용해서 /usr/bin상에 심볼릭 링크 생성을 해주시면 편하게 사용하실수 있을거에요..^^
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
아래 yudoldosa님의 에러 해결 방법입니다.


좌측은 find명령어로 관련 파일을 서치한 결과 입니다. clhep가 설치된 폴더에 위치한 관련 파일을 확인 하실수 있습니다.
이 경로를 우측과 같이 .bashrc에 추가해 주세요.
반응형