본문 바로가기

Gate

Gate 설치하기 (version 9.1 Ubuntu 20.04LTS)

반응형

 원래 Gate의 설치 매뉴얼은 Ubuntu의 LTS 버전에 업데이트되는 2년 간격으로 하려고 생각했었습니다. 그런데 Gate가 버전업 되었더라고요. 원래 생각 대로면 Ubuntu22.04가 나오고, 안정화 기간을 조금 가진 후 설치 매뉴얼을 만들겠지만, 개인적으로 Gate의 멀티 스래드 적용 여부가 궁금해서 설치해 봤습니다. 그러면서 자연스럽게 매뉴얼이 업데이트되었고요.

 

 먼저 주의 사항부터 언급하겠습니다.

 1. Root의 버전

 Root의 버전은 6.22로 합니다. 이 글을 쓰고 있는 현재 Root의 최신 버전은 6.24이더군요. 그런데 6.24를 이용하면 Gate설치 시 문제가 발생합니다. Gate의 설치시 표준 라이브러리의 버전은 C++11입니다. 그런데 Root 6.24의 표준라이브러리 버전은 C++14입니다. 결과적으로 Root 6.24를 이용하는 경우 Root의 라이브러리 파일을 Gate가 컴파일하지 못합니다.

 

2. Geant4의 멀티 스레딩 옵션

 Geant4의 멀티 스래딩 옵션은 끄고 설치합니다. Gate V9.0과 같은 문제가 발생합니다. Geant4는 멀티 스레딩을 지원해도 Gate는 지원하지 않습니다.

 

3. 설치 위치

 이 글의 스크립트 들은 사용자의 home폴더에 Gate를 설치합니다. 만약 설치하는 컴퓨팅 시스템이 여러 유저가 접근하는 시스템이라면 공유 공간으로 변경하는 작업이 필요합니다.

 

 그럼 설치를 시작하죠. 이번에도 다섯 개의 스크립트 파일로 구성됩니다. 스크립트 파일은 글의 하단에 다운로드 링크를 올려놓으니, 다운로드 후 사용하시거나, 글 사이사이에 코드를 복사하셔도 됩니다.

 이전 글에서 sh 스크립트를 구동하는 방식에 대해서는 이미 써 놓았으니, 여기서는 각 스크립트와 중간중간 필요한 액션을 언급하겠습니다. 그래도 혹시 sh 스크립트 구동법을 모르신다면 아래와 같이 터미널에서 구동시키시면 됩니다. (? 에 숫자를 넣으세요.)

sh GateSctipt_Step?.sh

 

1. 다운로드

 첫 번째 스크립트 파일의 내용은 아래와 같습니다.

cd ~
mkdir Gate
cd ~/Gate/
mkdir download
cd download/
sudo apt-get install curl
curl -O https://root.cern/download/root_v6.22.08.source.tar.gz
curl -O https://geant4-data.web.cern.ch/releases/geant4.10.07.p01.tar.gz
curl -O https://drive.uca.fr/seafhttp/files/5e47669f-294a-4e54-8d8d-c5ed61da200d/Gate-9.1.zip

 필요한 폴더를 만들고 curl을 설치한 후, Root와 Geant4, Gate를 다운로드합니다. 위 파일 중 Gate-9.1은 링크가 계속 변경됩니다. 받으신 후, 파일 용량(10MB)을 확인하세요. 17Byte면 다운로드에 실패한 것입니다. 다운로드에 실패한 경우 브라우저를 통해 다운로드하거나, 다운로드 링크를 구해서 커맨드를 변경해 주세요.

 

2. Root 설정

cd ~/Gate
sudo apt-get install cmake cmake-curses-gui build-essential libx11-dev libxmu-dev libxpm-dev libxft-dev libqt5opengl5-dev qt5-qmake qt5-default gcc g++ libpython3-dev libboost-dev boost1.71 clang-format git libssl-dev libxml2-dev vim

mkdir GATE
mkdir GEANT
mkdir ROOT
tar -xzf download/geant4.10.07.p01.tar.gz -C GEANT
tar -xzf download/root_v6.22.08.source.tar.gz -C ROOT
unzip download/Gate-9.1.zip -d GATE/

cd ~/Gate/ROOT/
ls
mkdir root-6.22.08-build root-6.22.08-install
cd root-6.22.08-build/
ccmake ../root-6.22.08

 두 번째 스크립트는 먼저 Gate V9.1을 설치할 때 필요한 다양한 라이브러리와 소프트웨어를 설치합니다. 그 후 GATE, GEANT, ROOT의 폴더를 만들고, 압축을 해재하죠.

 그 후 Root를 설치하기 위한 기본 설정을 해준 뒤 ccmake를 이용해서 설치를 위한 설정을 수행합니다. Root의 설치 설정은 아래 가이드를 따라 해 주세요.

ccmake가 구동되었으니 당연히 터미널은 위와 같은 창이 뜨게 됩니다. 'c'를 눌러줍니다. 열심히 컨피그 레이션 해준 뒤에는 아래와 같은 창이 뜨겠죠.

 여러 가지 설정이 있지만 특별히 변경할 점은 없습니다. 그저 "CMAKE_INSTALL_PREFIX"를 설치 폴더로 변경해 주세요. 그 후 'c'키를 눌러 주면, 문제가 없을 경우 아래와 같은 창이 뜹니다. 만약 아래 창이 안 뜨고 에러가 나면... 전문가 활용비를 준비해서 연락 주세요...^_^

 설정이 문제없으니 'g'키가 준비됩니다. 'g'키를 눌러 주면 설정이 종료되죠.

 

3. Root 설치 & Geant4 설정

cd ~/Gate/ROOT/root-6.22.08-build/
make
make install

cd ~/Gate/GEANT/
mkdir geant4.10.07.p01-build geant4.10.07.p01-install
cd geant4.10.07.p01-build/
ccmake ../geant4.10.07.p01

 Root의 설치는 시간이 오래 걸립니다. 스크립트 구동후 다른 업무를 하시거나, OS의 슬립 옵션을 끄고 영화 한 편 보고 오세요. 아니면 make에 -jN 옵션으로 가속화하셔도 되지만, 추천하진 않습니다.

 Root의 설치가 종료되면 Geant4의 설정을 해줘야 합니다. 인스톨 폴더를 설정해 주세요. Geant4의 멀티 스래드 기능을 꺼야 합니다. 데이터는 설치하게 해 주고, 다른 옵션은 취향에 따라 키거나 꺼주세요. 단 SYSTEM_CLHEP는 기본적으로 끄는 걸 추천(옵션을 끄면 Geant4가 내장한 CLHEP라이브러리를 활용합니다) 드립니다. CLHEP를 설치하셨다면, 이 옵션을 켜고 관련 라이브러리 정보 등을 설정해 주셔야 합니다.

설정을 잘해주셨다면 아래와 같은 창이 뜨겠죠. 'g'를 눌러서 설정을 마쳐줍니다.

4. Geant4 설치 & Gate 설치 전 설정

cd ~/Gate/GEANT/geant4.10.07.p01-build/
make
make install

Geant4는 Root 보다 빨리 설치됩니다. 그 후 Gate 설치 전에 환경설정을 해주어야 합니다. ~/.bashrc 파일의 하단에 두줄을 추가해 주세요. ( vi나 gedit 등을 이용하세요. )

설정을 해주셨다면, 컴퓨터를 재부팅하시거나, 아래 커맨드를 입력해서 환경설정을 업데이트하세요.

source ~/.bashrc

5. Gate 설정 및 설치

cd ~/Gate/GATE/
mkdir Gate-9.1-build Gate-9.1-install
cd Gate-9.1-build/
ccmake ../Gate-9.1
make
make install

앞선 스크립트와 같은 형식이죠. Gate를 설정하고, 설치합니다. 설정은 아래와 같이 설치 폴더만 설정해 주셔도 되고, 원하는 옵션을 켜셔도 됩니다. (아마 example 설치와 같은 옵션은 't'키를 누르면 나올 거예요)

설정을 마치셨다면 'c'키를 눌러 설정을 업데이트해주세요. 마지막으로 아래 스냅숏과 같이 활성화된 'g' 키를 눌러 주시면 설치됩니다.

 설치 후엔 마지막으로 환경설정을 업데이트해줍니다. ~/.bashrc 파일의 마지막에 아래와 같이 Gate의 PATH를 추가해 주세요. 

그럼 즐거운 시뮬레이션되시길 바라고, 아마도 Ubuntu 22.04 LTS 가 나올 때 매뉴얼을 업데이트하겠습니다.

 

감사합니다.


GateScript_Step1.sh
0.00MB

 

GateScript_Step2.sh
0.00MB

 

GateScript_Step3.sh
0.00MB
GateScript_Step4.sh
0.00MB
GateScript_Step5.sh
0.00MB

반응형