2014년 3월 11일 화요일

Boost 와 QuantLib 를 linux에서 설치하기

어제는 Boost를 설치하는 방법에 대해서 포스팅 했었습니다.

그런데 오늘 QuantLib.org에서 아주 간단하고도 편한 설치 법이 있네요.

Visual Studio 에서 처럼 공용설정도 할수 있더라구요.

링크는 다음과 같습니다.



1. Boost Installation

부스트를 설치하고 싶으시면 Terminal 에 다음을 입력하세요 
sudo port install boost
저 같은 경우는 저 명령어가 먹지 않아서 

sudo yum install boost 

라는 명령어로 해결했습니다. 마찬가지로 

sudo apt-get install boost 

도 가능하지 않을까 싶은데요. 각자의 컴터에 맞는 설정이 있을꺼라고 생각합니다.

2. QuantLib Installation

다음 링크를 통하여 최신버젼의 QuantLib을 다운 받으세요 리눅스의 경우 당연히 확장자가 tar.gz인 파일을 다운 받으셔야 합니다.

Terminal 에 다음을 차례로 입력합니다.

tar xzvf QuantLib-1.0.1.tar.gz

cd QuantLib-1.0.1

./configure --enable-static --with-boost-include=/opt/local/include/ \
            --with-boost-lib=/opt/local/lib/ --prefix=/opt/local/
make && sudo make install
QuantLib의 설치가 완료 될때 까지는 시간이 소요됩니다. 적당한 운동을 권유합니다. 
QuantLib의 올바른 설치를 확인 하기 위하여 Examples 폴더에서 다양한 Example들을 컴파일 해보세요. 예를들면
g++ -I/opt/local/include/ -I/opt/local/include/boost BermudanSwaption.cpp \
    -o bermudanswaption -L/opt/local/lib/ -lQuantLib
위의 명령어를 입력하면 해당 폴더에 bermudanswaption이 생깁니다. 해당 파일을 실행하는 방법은 
./bermudanswaption 

입니다. 하지만 간혹 다음과 같은 에러메시지를 발견할수 있습니다.

 libQuantLib.so.0: cannot open shared object file: No sush file...

해당에러는 링킹 에러입니다. 위의 문제의 해법은 Luigi님께서 답변해주고 계십니다.

http://sourceforge.net/p/quantlib/mailman/quantlib-users/?viewmonth=201305

내용을 요약하자면 
링커가 맛이 갔네요 
/etc/ld.so.conf 파일에 
/usr/local/lib 라고 덧붙이세요 
그리고는 terminal에 다음과 같이 입력하세요 
sudo ldconfig

아마 이제 잘 돌아 갈껍니다.

마지막으로 부스트를 공용속성처럼 쓰고 싶다면 

~/bash_profile 파일에 다음을 덧붙이세요 
export CPLUS_INCLUDE_PATH=/opt/local/include
export C_INCLUDE_PATH=/opt/local/include
export DYLD_LIBRARY_PATH=/opt/local/lib
이제 부스트에 관해서는 포함(-I)이나 링크(-L)를 걸 필요가 없어졌네요 ㅎㅎ
감사합니다.


댓글 2개: