Skip to content

Instantly share code, notes, and snippets.

@melvincabatuan
Created April 5, 2015 10:47
Show Gist options
  • Save melvincabatuan/a5a4a10b15ef31a5a481 to your computer and use it in GitHub Desktop.
Save melvincabatuan/a5a4a10b15ef31a5a481 to your computer and use it in GitHub Desktop.
Compile BOOST with Python3 support
1. Check Python3 root
>>> import sys
>>> import os
>>> sys.executable
'/usr/local/bin/python3'
OR
$ which python3
/usr/local/bin/python3
2. Modify user-config.jam
Ex. location:
/boost_1_57_0/tools/build/example/user-config.jam
Ex. modification
using python : 3.4 : /usr/local/bin/python3 : /usr/local/include/python3.4m : /usr/local/lib ;
4. ./bootstrap.sh --with-python=/usr/local/bin/python3 --with-python-version=3.4 --with-python-root=/usr/local/lib/python3.4
Ex.
Building Boost.Build engine with toolset gcc... tools/build/src/engine/bin.linuxx86/b2
Unicode/ICU support for Boost.Regex?... /usr
Backing up existing Boost.Build configuration in project-config.jam.3
Generating Boost.Build configuration in project-config.jam...
Bootstrapping is done. To build, run:
./b2
To adjust configuration, edit 'project-config.jam'.
Further information:
- Command line help:
./b2 --help
- Getting started guide:
http://www.boost.org/more/getting_started/unix-variants.html
- Boost.Build documentation:
http://www.boost.org/boost-build2/doc/html/index.html
5. sudo ./b2 --enable-unicode=ucs4 install
$ sudo ./b2 --enable-unicode=ucs4 install
sudo: unable to resolve host cobalt
[sudo] password for cobalt:
Performing configuration checks
- 32-bit : yes (cached)
- arm : no (cached)
- mips1 : no (cached)
- power : no (cached)
- sparc : no (cached)
- x86 : yes (cached)
- lockfree boost::atomic_flag : yes (cached)
- has_icu builds : yes (cached)
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
- zlib : yes (cached)
- iconv (libc) : yes (cached)
- icu : yes (cached)
- compiler-supports-ssse3 : yes (cached)
- compiler-supports-avx2 : yes (cached)
- gcc visibility : yes (cached)
- long double support : yes (cached)
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
- zlib : yes (cached)
Component configuration:
- atomic : building
- chrono : building
- container : building
- context : building
- coroutine : building
- date_time : building
- exception : building
- filesystem : building
- graph : building
- graph_parallel : building
- iostreams : building
- locale : building
- log : building
- math : building
- mpi : building
- program_options : building
- python : building
- random : building
- regex : building
- serialization : building
- signals : building
- system : building
- test : building
- thread : building
- timer : building
- wave : building
...patience...
...patience...
...patience...
...patience...
...patience...
...patience...
...found 35166 targets...
...updating 6 targets...
gcc.link.dll bin.v2/libs/python/build/gcc-4.8/release/threading-multi/libboost_python3.so.1.57.0
common.copy /usr/local/lib/libboost_python3.so.1.57.0
ln-UNIX /usr/local/lib/libboost_python3.so
gcc.archive bin.v2/libs/python/build/gcc-4.8/release/link-static/threading-multi/libboost_python3.a
common.copy /usr/local/lib/libboost_python3.a
...updated 6 targets...
@unanan
Copy link

unanan commented Apr 16, 2018

I use it, but no work

@GoingMyWay
Copy link

Very helpful hint. Thank you!

@xiaoschannel
Copy link

this just doesn't cut it after 4 years.

@jefflgaol
Copy link

AMAZING!

@journeytosilius
Copy link

doesn't work here

@gsagula
Copy link

gsagula commented Jan 6, 2023

useless

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment