发布时间:2022-07-05 文章分类:编程知识 投稿人:赵颖 字号: 默认 | | 超大 打印

June 30, 2012

Installing the Boost Libraries 1.50 on Ubuntu 12.04 precise

The version 1.50 of the Boost Libraries has been released . Following are the instructions to install a private copy of the Boost Libraries, including ICU support, on Ubuntu 12.04 (precise).

Setup

I have chosen to download the source packages in ~/Software, and to install in ~/usr but you can also use any other directories.

Make the required directories.


mkdir ~/Software

mkdir ~/Software/Boost

mkdir ~/Software/ICU

mkdir ~/usr

Requirements

Check the required packages.


sudo apt-get install build-essential

sudo apt-get install g++

sudo apt-get install python-dev

sudo apt-get install libzip-dev

sudo apt-get install libbz2-dev

Download and install the ICU Libraries

We will install a private version of the ICU Libraries, I have chosen the ~/usr directory for the installation but can be any other.

Download and decompress the ICU Libraries source package.


cd ~/Software/ICU


wget http://download.icu-project.org/files/icu4c/49.1.2/icu4c-49_1_2-src.tgz

tar -xvf icu4c-49_1_2-src.tgz

Configure, build and install the ICU Libraries.


cd icu/source

./runConfigureICU Linux --prefix=${HOME}/usr --enable-static

make

make install

Download the Boost Libraries

Download and decompress the Boost Libraries source package.


cd ~/Software/Boost


wget -O boost_1_50_0.tar.bz2 http://sourceforge.net/projects/boost/files/boost/1.50.0/boost_1_50_0.tar.bz2/download

tar -xvf boost_1_50_0.tar.bz2

Configure the Boost Libraries

Declare the ICU_PATH environment variable.


export ICU_PATH=${HOME}/usr

Configure the Boost Libraries build system.


cd boost_1_50_0

./bootstrap.sh

Edit the generated project-config.jam file.


gedit project-config.jam

Make the required changes to the project-config.jam file. I have highlighted the required changes, note that you have to substitute the directory /home/your-user-name with your real home directory path.


# Boost.Build Configuration

# Automatically generated by bootstrap.sh

import option ;

import feature ;

# Compiler configuration. This definition will be used unless

# you already have defined some toolsets in your user-config.jam

# file.

if ! gcc in [ feature.values <toolset> ]

{

using gcc ;

}

project : default-build <toolset> gcc ;

# Python configuration

using python : 2.7 : /usr ;

path-constant ICU_PATH : /home/your-user-name/usr ;

# List of --with-<library> and --without-<library>

# options. If left empty, all libraries will be built.

# Options specified on the command line completely

# override this variable.

libraries = /home/your-user-name/usr ;

# These settings are equivivalent to corresponding command-line

# options.

option.set prefix : /home/your-user-name/usr ;

option.set exec-prefix : /home/your-user-name/usr ;

option.set libdir : /home/your-user-name/usr/lib ;

option.set includedir : /home/your-user-name/usr/include ;

# Stop on first error

option.set keep-going : false ;

Save the file and exit the editor.

Build and install Boost Libraries

Build the Boost Libraries.


./b2

Alternatively you can build the Boost Libraries enabling the C++11 compiler support.


./b2 toolset=gcc cxxflags=-std=c++0x

The build process takes a while, once it is complete you can install the private version of the Boost Libraries.


./b2 install