티스토리 뷰

728x90

무료 성경 프로그램인 지포스(Xiphos)는 윈도우, 리눅스, 맥에서도 수행되는 프로그램입니다. 소스 코드도 공개하고 있기 때문에 GTK기반으로 크로스 플랫폼 응용을 제작하려는 개발자에게는 참고가 될만한 프로젝트입니다. 이번 글에서는 지포스를 소스 코드를 기반으로 빌드하는 과정을 다루어서 자신의 입맛에 맞는 기능을 추가하거나 버그나 개선점을 직접 수정하기 위한 준비를 할까 합니다.

지포스를 빌드하기 위해서는 페도라나 우분투와 같은 리눅스 환경을 준비하는 것이 좋습니다. 컴파일러와 같은 주요 도구는 yum이나 apt-get으로 간단하게 설치할 수 있지만 정상적인 빌드를 위해서는 그외에도 sword나 biblesync와 같은 패키지도 필요한데 이들 패키지의 최신 버전은 리눅스 배포판 중에서도 최신 버전에 포함되어 있으므로 우분투의 경우 Ubuntu 14.10 이상에서 빌드합니다.

우선 깃허브에서 최신 코드를 내려 받습니다.

git clone https://github.com/crosswire/xiphos.git

빌드 이후에 지포스의 코드가 수정되었다면 git pull로 간단히 최신 코드를 반영할 수 있고 내가 수정한 부분이 있다면 "pull request"로 간편하게 지포스 프로젝트에 기여할 수 있습니다. 주의할 점은 최신 코드에는 개발중에 있으므로 버그가 포함되어 있을 수 있습니다. 저의 경우에도 빌드는 되지만 실행중 오류가 발생했습니다. 그래서 소스포지의 배포본에 해당하는 소스코드를 내려받아 빌드 했습니다.

http://sourceforge.net/projects/gnomesword/files/Xiphos/4.0.4/xiphos-4.0.4-20150830.tar.gz/download

다음에 수행할 작업은 빌드에 필요한 주요 도구와 라이브러리를 설치합니다. 

sudo apt-get install cpp intltool libgtk-3-dev libdbus-glib-1-dev libgtkhtml3.14-dev libwebkitgtk-3.0-dev libxml2-dev libgsf-1-dev libgconfmm-2.6-dev libsword-dev uuid-dev gnome-doc-utils rarian-compat libgtkhtml-editor-dev libwebkit-dev libglade2-dev libgtkhtml-4.0-dev libgtkhtml-editor-4.0-dev

위의 apt-get을 통한 도구 및 라이브러리 설치 작업은 다음의 사전 검사 작업이 성공할 때 까지 반복되어야 합니다.

./waf configure --prefix=/usr --debug-level=optimized

위의 사전 검사 과정에서 필요한 도구나 라이브러리가 없으면 build/config.log에 어떤 것이 없는지 메시지를 남기므로 참조해서 해당 패키지를 sudo apt-get으로 설치합니다. 문제는 아직 리눅스 배포판에 포함되어 있지 않은 패키지가 없다고 나오는 경우로 대부분은 sword, biblesync, bibletime 패키지와 연관되므로 실패 원인이 이들 패키지 중에 하나에 있다면 https://sites.google.com/site/xiphosforubuntu/files에서 해당 소스를 다운로드 받아서 빌드하고 설치한 다음에 위의 사전 검사 과정을 다시 진행하면 됩니다.

mkdir build/linux && cd build/linux

cmake -DBUILD_SHARED_LIBS=TRUE -DCMAKE_INSTALL_PREFIX=/usr -DLIBDIR=/usr/lib ../..

make && sudo make install

위의 스크립트는 biblesync를 빌드 및 설치하는 과정으로 중간에 cmake라는 도구를 사용하므로 설치되어 있지 않다면 sudo apt-get install cmake로 설치후에 진행합니다. 사전 검사 과정에 문제가 없다는 빌드를 진행합니다.

./waf build

빌드가 성공하면 시스템에 설치하여 테스트를 준비합니다.

sudo ./waf install

우분투에서는 설치가 정상적이면 위의 그림과 같이 "Education"에 지포스 메뉴가 추가되므로 간편하게 프로그램을 실행할 수 있습니다.

빌드한 프로그램을 우분투 리눅스에서 실행시킨 화면입니다. 이제 이상한 기능이 버그인지도 확인하고 원하는 기능을 추가도 해볼까요!

728x90
댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/10   »
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 31
Total
Today
Yesterday