Sunday 17 January 2016

[C++][Boost] Building Boost.Regex 5.0.1 with ICU support on Debian "jessie" 64-bit

This is a short memo on how to build Boost.Regex 5.0.1 of Boost 1.60.0 with ICU support on Debian "jessie" 64-bit.
                 

So, the OS is Debian "jessie" 64-bit and the version of Boost is 1.60.0. I will suppose that you have Boost ready in some <Boost_root> directory.
First make sure that you have the development files of libicu. Given that you have the right privileges to install packages, run this command:
apt-get install libicu-dev
This will install the includes in /usr/include/x86_64-linux-gnu/ and the libraries in /usr/lib/x86_64-linux-gnu/

Go to <Boost_root>/libs/regex/build/Jamfile.v2 and change ICU_OPTS to the following:
ICU_OPTS = <include>/usr/include/x86_64-linux-gnu/ <linkflags>$(ICU_LINK) <dll-path>/usr/lib/x86_64-linux-gnu <define>BOOST_HAS_ICU=1 <runtime-link>shared ;
Now run this command under Boost root directory to build the whole library:
./bjam -sICU_LINK="-licuuc -licui18n -licudata" -sICU_PATH=/usr/local/icu --with-regex stage
You can check the dependencies of the newly built library:
ldd stage/lib/libboost_regex.so

NOTE:
This article could be modified later to include other "tricky" parts in building Boost 1.60.0 on Debian 8 64-bit.

No comments:

Post a Comment