'install'에 해당되는 글 4건

  1. 2013.08.15 How to build the C++ boost library 1.54.0 on windows
  2. 2011.04.21 #20110421-02 :: Debian Linux :: 설치
  3. 2010.12.29 boost library 1.45.0 build on windows
  4. 2010.12.29 boost library 1.44.0 build on windows

How to build the C++ boost library 1.54.0 on windows



[환경]

- Windows 7 32/64 bit
- Visual Studio 2010
(위 환경은 본인이 집과 회사에서 사용하는 개발 환경이다.)


[준비물]

물론, 아래의 준비물이 꼭 다 필요한 것은 아니다.
boost library는 매우 다양한 종류의 라이브러리들이 모여 있으며,
컴파일이 필요없는 #define 매크로 형태에서부터 Template Meta Programming 형태, 
그리고 시스템 종속성으로 인해 컴파일이 필요한 형태까지 다양하다.
아래의 준비물 들은 boost를 통째로 컴파일 하기 위한 환경이며,
boost의 구성물을 선별적으로 사용하고자 한다면,
홈페이지의 Getting Started 를 참고하여 
자신이 필요한 라이브러리가 컴파일이 필요한지
필요하다면 아래의 라이브러리들에 종속성이 있는지를 확인하여 사용하는 것이 좋다.
컴파일이 필요한 라이브러리들은 개별 메뉴얼에 컴파일 방법이 소개되어 있다.

boost library source files (1.45.0)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기


bzip2 (1.0.6)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

zlib (1.2.8)
홈페이지는 여기 , 다운로드 링크는 여기

icu (icu4c 51.2)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

python (2.7.5)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

7-zip command line tool
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기


[파일 및 폴더 구성]

아래는 본인이 애용하는 빌드 자동화를 위한 폴더 및 파일 구조를 나타낸 것이다.
설치 시에 뒤에 오는 배치파일을 분석하여 본인 취향대로 수정해도 무방하다.
볼드체가 폴더명이다.
이탤릭체로 표현된 build_1_54_0.bat 파일은 아래의 [배치파일 만들기]를 참고하도록 한다.

~/boost
         build_1_54_0
              arc
                   boost_1_54_0.7z
                   bzip2-1.0.6.tar.gz
                   icu4c-51_2-src.zip
                   Python-2.7.5.tgz
                   zlib-1.2.8.tar.gz
              bin
                   7za.exe
         build_1_54_0.bat


[배치파일 만들기]

위 파일들이 모두 갖추어졌다면 아래와 같은 내용의 배치파일을 만든다.
본인은 build_1_54_0.bat 라는 이름으로 배치파일을 만들었다.
아래 스크립트 중 볼드&이탤릭체로 된 부분은 본인의 환경과 목적에 맞추어 수정하면 된다.
예를 들어 VS2008 사용자는 10.0을 9.0으로 수정하고, 라이브러리를 무조건 DLL 파일로 분리 배포하고 싶다면 static,sharedshared로 바꾸면 된다. 나머지도 비슷하게 하면 된다.

set path=%path%;%cd%\bin;

: zlib 1.2.8
7za x -o"%cd%\tmp" arc\zlib-1.2.8.tar.gz
7za x -o"%cd%\tmp" "%cd%\tmp\zlib-1.2.8.tar"
set ZLIB_SOURCE="%cd%\tmp\zlib-1.2.8"

: bzip2 1.0.6
7za x -o"%cd%\tmp" arc\bzip2-1.0.6.tar.gz
7za x -o"%cd%\tmp" "%cd%\tmp\bzip2-1.0.6.tar"
set BZIP2_SOURCE="%cd%\tmp\bzip2-1.0.6"

: python 2.7.5
7za x -o"%cd%\tmp" arc\Python-2.7.5.tgz
7za x -o"%cd%\tmp" "%cd%\tmp\Python-2.7.5.tar"
set PYTHON_ROOT="%cd%\tmp\Python-2.7.5"
set PYTHON_VERSION=2.7

: icu 51.2
7za x -o"%cd%\tmp" arc\icu4c-51_2-src.zip
set ICU_PATH="%cd%\tmp\icu\source\common"

: boost 1.54.0
7za x -o"%cd%\tmp" arc\boost_1_54_0.7z

: b2
pushd tmp\boost_1_54_0\tools\build\v2
call bootstrap.bat
b2 install --prefix="..\..\..\..\b2"
popd
set path=%path%;%cd%\tmp\b2\bin;

: compile
pushd tmp\boost_1_54_0
b2 --prefix=%cd%\..\..\.. --without-mpi toolset=msvc-10.0 variant=debug,release link=static,shared runtime-link=static,shared threading=single,multi address-model=32 install
popd

: clear
rmdir /s /q tmp


[인스톨]

마지막으로 위의 배치파일을 실행시키면 boost 폴더 하위에
include와 lib 폴더가 생길 것이다.
생성되는 두 폴더를 가져다 사용하면 된다.


현재 빌드에는 boost.MPI 는 포함되어 있지 않다.
언젠가는 포함 하겠지만, 당장 필요도 없고 바쁜 관계로 무기한 보류 중이다.

현재 Python은 2.x와 3.x로 양분되어 있으며, 
2.x도 2.5 , 2.6 , 2.7 세 가지 버전이 혼재되어 쓰이고 있다.
본인은 현재 가장 널리 쓰이며 호환성 문제가 없는 2.7 기준으로 빌드하였다.
사용자는 자기가 원하는 버전을 이용하면 되겠다.


'open source > boost' 카테고리의 다른 글

boost library 1.45.0 build on windows  (0) 2010.12.29
boost library 1.44.0 build on windows  (0) 2010.12.29
boost library  (0) 2010.12.28

#20110421-02 :: Debian Linux :: 설치

FreeBSD를 버리고 Debian Linux로 변경.

데비안 홈페이지의 가이드를 따라 CD-ROM에 이미지를 꾸어서 사용.

HDD는 80GB와 300GB 두 개 장착된 상태로

80GB를 메인으로 하고, 300GB를 별도 데이터 저장소로 파티션 분할.

80GB는 데비안 설치 프로세스의 기본 분할에 따랐고,

300GB는 1GB의 SWAP과 나머지 저장 공간으로 파티션 분할.

설치 옵션은 웹서버와 기본 유틸리티를 제외하고 모두 해제하였음. 

boost library 1.45.0 build on windows



[환경]

- Windows XP + SP3 , Windows 7
- Visual Studio 2005 , Visual Studio 2008
(위 환경은 본인이 집과 회사에서 사용하는 개발 환경이다.)


[준비물]

물론, 아래의 준비물이 꼭 다 필요한 것은 아니다.
boost library는 매우 다양한 종류의 라이브러리들이 모여 있으며,
컴파일이 필요없는 #define 매크로 형태에서부터 Template Meta Programming 형태, 
그리고 시스템 종속성으로 인해 컴파일이 필요한 형태까지 다양하다.
아래의 준비물 들은 boost를 통째로 컴파일 하기 위한 환경이며,
boost의 구성물을 선별적으로 사용하고자 한다면,
홈페이지의 Getting Started 를 참고하여 
자신이 필요한 라이브러리가 컴파일이 필요한지
필요하다면 아래의 라이브러리들에 종속성이 있는지를 확인하여 사용하는 것이 좋다.
컴파일이 필요한 라이브러리들은 개별 메뉴얼에 컴파일 방법이 소개되어 있다.

boost library source files (1.45.0)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

boost jam (3.1.18)
다운로드 링크는 여기

bzip2 library (1.0.6)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

zlib (1.2.5)
홈페이지는 여기 , 다운로드 링크는 여기

icu (icu4c 4.6)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

python (2.5.5)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

7-zip command line tool
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기


[파일 및 폴더 구성]

아래는 본인이 애용하는 빌드 자동화를 위한 폴더 및 파일 구조를 나타낸 것이다.
설치 시에 뒤에 오는 배치파일을 분석하여 본인 취향대로 수정해도 무방하다.
볼드체가 폴더명이다.

~/boost_1_45_0
         build_1_45_0
              arc
                   boost_1_45_0.7z
                   bzip2-1.0.6.tar.gz
                   zlib-1.2.5.tar.gz
                   icu4c-4_6-src.zip
                   Python-2.5.5.tgz
                   zlib-1.2.5.tar.gz
              bin
                   7za.exe
                   bjam.exe
         build.2005.bat
         build.2008.bat
         configure.jam


[배치파일 만들기]

위 파일들이 모두 갖추어졌다면 아래와 같은 내용의 배치파일을 만든다.
본인은 build.2005.bat 과 build.2008.bat 라는 이름으로 배치파일을 만들었다.
두 배치파일의 차이는 아래 볼드체로 표시된 부분이 8.0 인가 9.0 인가의 차이이다.
자신의 컴파일러에 맞게 적용하여 사용하면 되며 본인은 둘 모두를 사용하기에 
두 개의 배치파일을 만들었다.

set path=%path%;%cd%\bin;
7za x -o"%cd%\tmp" arc\zlib-1.2.5.tar.gz 
7za x -o"%cd%\tmp" "%cd%\tmp\zlib-1.2.5.tar"
7za x -o"%cd%\tmp" arc\bzip2-1.0.6.tar.gz 
7za x -o"%cd%\tmp" "%cd%\tmp\bzip2-1.0.6.tar"
7za x -o"%cd%\tmp" arc\icu4c-4_6-src.zip 
7za x -o"%cd%\tmp" arc\boost_1_45_0.7z 
set ZLIB_SOURCE="%cd%\tmp\zlib-1.2.5"
set BZIP2_SOURCE="%cd%\tmp\bzip2-1.0.6"
set PYTHON_ROOT="%cd%\tmp\Python-2.5.5"
set PYTHON_VERSION=2.5
set ICU_PATH="%cd%\tmp\icu\source\common"

pushd tmp\boost_1_45_0\tools\build\v2\build\
move configure.jam configure.jam.org
popd
copy configure.jam tmp\boost_1_45_0\tools\build\v2\build\configure.jam


pushd tmp\boost_1_45_0
bjam --prefix=%cd%\..\..\.. --toolset=msvc-8.0 --build-type=complete debug release warnings=off --without-mpi install
popd
move %cd%\..\lib %cd%\..\lib.2005
rmdir /s /q tmp

※ 주의: 현재 최신 버전들 사이의 조합에 문제가 있다.
    위의 이탤릭체로 된 배치 프로세스는 버그 회피를 위한 코드로 원래는 필요가 없다.
    (원래 clean 환경과의 비교를 위하여 1.44.0 빌드 방법을 먼저 포스팅 하였다.)
    본인도 지금 이 글을 쓰며 위 버전들에 대하여 문제를 발견하였다.
    파일 및 폴더 구성의 configure.jam은 본 블로그에서 다운로드 하기 바란다.


본인이 제공하는 configure.jam 파일과 원본 사이에는 큰 차이가 없다.
145 행의 $(.log-fd) : ignore-minus-n : ignore-minus-q ] 가 
$(.log-fd) : ignore-minus-n ] 로 변경되었을 뿐 나머지는 모두 동일하다.
( 해당 버그에 대한 수정 방법은 여기를 참고하였다. )


[인스톨]

마지막으로 위의 배치파일을 실행시키면 boost_1_45_0 폴더 하위에
include와 lib.2005 폴더가 생길 것이다.
생성되는 두 폴더를 가져다 사용하면 된다.


현재 빌드에는 boost.MPI 는 포함되어 있지 않다.
언젠가는 포함 하겠지만, 당장 필요도 없고 바쁜 관계로 무기한 보류 중이다.

현재 Python은 2.x와 3.x로 양분되어 있으며, 
2.x도 2.5 , 2.6 , 2.7 세 가지 버전이 혼재되어 쓰이고 있다.
본인은 현재 가장 널리 쓰이며 호환성 문제가 없는 2.5를 기준으로 빌드하였다.
사용자는 자기가 원하는 버전을 이용하면 되겠다.

'open source > boost' 카테고리의 다른 글

How to build the C++ boost library 1.54.0 on windows  (0) 2013.08.15
boost library 1.44.0 build on windows  (0) 2010.12.29
boost library  (0) 2010.12.28

boost library 1.44.0 build on windows


[환경]

- Windows XP + SP3 , Windows 7
- Visual Studio 2005 , Visual Studio 2008
(위 환경은 본인이 집과 회사에서 사용하는 개발 환경이다.)


[준비물]

물론, 아래의 준비물이 꼭 다 필요한 것은 아니다.
boost library는 매우 다양한 종류의 라이브러리들이 모여 있으며,
컴파일이 필요없는 #define 매크로 형태에서부터 Template Meta Programming 형태, 
그리고 시스템 종속성으로 인해 컴파일이 필요한 형태까지 다양하다.
아래의 준비물 들은 boost를 통째로 컴파일 하기 위한 환경이며,
boost의 구성물을 선별적으로 사용하고자 한다면,
홈페이지의 Getting Started 를 참고하여 
자신이 필요한 라이브러리가 컴파일이 필요한지
필요하다면 아래의 라이브러리들에 종속성이 있는지를 확인하여 사용하는 것이 좋다.
컴파일이 필요한 라이브러리들은 개별 메뉴얼에 컴파일 방법이 소개되어 있다.

boost library source files (1.44.0)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

boost jam (3.1.18)
다운로드 링크는 여기

bzip2 library (1.0.6)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

zlib (1.2.5)
홈페이지는 여기 , 다운로드 링크는 여기

icu (icu4c 4.4.2)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

python (2.5.5)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

7-zip command line tool (9.20)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기


[파일 및 폴더 구성]

아래는 본인이 애용하는 빌드 자동화를 위한 폴더 및 파일 구조를 나타낸 것이다.
설치 시에 뒤에 오는 배치파일을 분석하여 본인 취향대로 수정해도 무방하다.
볼드체가 폴더명이다.

~/boost_1_44_0
         build_1_44_0
              arc
                   boost_1_44_0.7z
                   bzip2-1.0.6.tar.gz
                   icu4c-4_4_2-src.zip
                   Python-2.5.5.tgz
                   zlib-1.2.5.tar.gz
              bin
                   7za.exe
                   bjam.exe
         build.2005.bat
         build.2008.bat


[배치파일 만들기]

위 파일들이 모두 갖추어졌다면 아래와 같은 내용의 배치파일을 만든다.
본인은 build.2005.bat 과 build.2008.bat 라는 이름으로 배치파일을 만들었다.
두 배치파일의 차이는 아래 볼드체로 표시된 두 부분이 전부이다.
(Visual Studio 2008을 쓴다면 8.0 → 9.0 , 2005 → 2008 로 변경하면 된다.)
각자 자신의 컴파일러에 맞게 수정하여 사용하면 되며 본인은 둘 모두를 사용하기에 
두 개의 배치파일을 만들었다.

set path=%path%;%cd%\bin;
7za x -o"%cd%\tmp" arc\zlib-1.2.5.tar.gz 
7za x -o"%cd%\tmp" "%cd%\tmp\zlib-1.2.5.tar"
7za x -o"%cd%\tmp" arc\bzip2-1.0.6.tar.gz 
7za x -o"%cd%\tmp" "%cd%\tmp\bzip2-1.0.6.tar"
7za x -o"%cd%\tmp" arc\Python-2.5.5.tgz
7za x -o"%cd%\tmp" "%cd%\tmp\Python-2.5.5.tar"
7za x -o"%cd%\tmp" arc\icu4c-4_4_2-src.zip 
7za x -o"%cd%\tmp" arc\boost_1_44_0.7z 
set ZLIB_SOURCE="%cd%\tmp\zlib-1.2.5"
set BZIP2_SOURCE="%cd%\tmp\bzip2-1.0.6"
set PYTHON_ROOT="%cd%\tmp\Python-2.5.5"
set PYTHON_VERSION=2.5
set ICU_PATH="%cd%\tmp\icu\source\common"
pushd tmp\boost_1_44_0
bjam --prefix=%cd%\..\..\.. --toolset=msvc-8.0 --build-type=complete debug release warnings=off --without-mpi install
popd
move %cd%\..\lib %cd%\..\lib.2005
rmdir /s /q tmp


[인스톨]

마지막으로 위의 배치파일을 실행시키면 boost_1_44_0 폴더 하위에
include와 lib.2005 폴더가 생길 것이다.
생성되는 두 폴더를 가져다 사용하면 된다.


[끝으로]

원래 계획은 1.44.0 버전에 대한 설치 방법을 포스팅 할 계획은 없었다.
그러나 1.45.0 빌드 환경에 약간의 문제가 있고,
후에 수정될 계획이라고는 하나 
현재로써는 해당 문제를 회피하기 위한 잡다구레한 방법이 필요하다.
때문에, 1.45.0 빌드 방법을 보이기에 앞서 클린한 상태에 대해서도 보이고 싶었다.
매우 작은 차이겠지만, 이후 포스팅 될 1.45.0 빌드 방법과 비교해 보는 것도 좋을 듯 하다.


현재 빌드에는 boost.MPI 는 포함되어 있지 않다.
언젠가는 포함 하겠지만, 당장 필요도 없고 바쁜 관계로 무기한 보류 중이다.

현재 Python은 2.x와 3.x로 양분되어 있으며,
2.x도 2.5 , 2.6 , 2.7 세 가지 버전이 혼재되어 쓰이고 있다.
본인은 현재 가장 널리 쓰이며 호환성 문제가 없는 2.5를 기준으로 빌드하였다.
사용자는 자기가 원하는 버전을 이용하면 되겠다.

'open source > boost' 카테고리의 다른 글

How to build the C++ boost library 1.54.0 on windows  (0) 2013.08.15
boost library 1.45.0 build on windows  (0) 2010.12.29
boost library  (0) 2010.12.28