Python module needs to be built without these extra renames. MPI module needs to reference correct python ~Index: boost_1_64_0/libs/mpi/build/Jamfile.v2 ~=================================================================== ~--- boost_1_64_0.orig/libs/mpi/build/Jamfile.v2 ~+++ boost_1_64_0/libs/mpi/build/Jamfile.v2 ~@@ -61,10 +61,10 @@ libraries += boost_mpi ; ~ lib boost_mpi_python ~ : # Sources ~ python/serialize.cpp ~+ /user-config//boost_python_alias ~ : # Requirements ~ boost_mpi ~ /mpi//mpi [ mpi.extra-requirements ] ~- /boost/python//boost_python ~ shared:BOOST_MPI_DYN_LINK=1 ~ shared:BOOST_MPI_PYTHON_DYN_LINK=1 ~ shared:BOOST_PYTHON_DYN_LINK=1 ~@@ -92,8 +92,8 @@ libraries += boost_mpi ; ~ python/skeleton_and_content.cpp ~ python/status.cpp ~ python/py_timer.cpp ~+ /user-config//boost_python_alias ~ : # Requirements ~- /boost/python//boost_python ~ boost_mpi_python ~ boost_mpi ~ /mpi//mpi [ mpi.extra-requirements ] Index: boost_1_67_0/libs/mpi/build/Jamfile.v2 =================================================================== --- boost_1_67_0.orig/libs/mpi/build/Jamfile.v2 +++ boost_1_67_0/libs/mpi/build/Jamfile.v2 @@ -60,33 +60,13 @@ libraries += boost_mpi ; if [ python.configured ] { - py2-version = [ py-version 2 ] ; - py3-version = [ py-version 3 ] ; - - # These library names are synchronized with those defined by Boost.Python, see libs/python/build/Jamfile. - lib_boost_python(2) = boost_python ; - lib_boost_python(3) = boost_python3 ; - - lib_boost_python($(py2-version)) = $(lib_boost_python(2)) ; - lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ; - - lib_boost_mpi_python(2) = boost_mpi_python ; - lib_boost_mpi_python(3) = boost_mpi_python3 ; - - lib_boost_mpi_python($(py2-version)) = $(lib_boost_mpi_python(2)) ; - lib_boost_mpi_python($(py3-version)) = $(lib_boost_mpi_python(3)) ; - - for local N in 2 3 - { - if $(py$(N)-version) - { - lib $(lib_boost_mpi_python($(py$(N)-version))) + lib boost_mpi_python : # Sources python/serialize.cpp : # Requirements boost_mpi /mpi//mpi [ mpi.extra-requirements ] - /boost/python//$(lib_boost_python($(py$(N)-version))) + /boost/python//boost_python shared:BOOST_MPI_DYN_LINK=1 shared:BOOST_MPI_PYTHON_DYN_LINK=1 shared:BOOST_PYTHON_DYN_LINK=1 @@ -94,12 +74,12 @@ libraries += boost_mpi ; -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag @$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag on:BOOST_DEBUG_PYTHON - $(py$(N)-version) : # Default build shared : # Usage requirements /mpi//mpi [ mpi.extra-requirements ] ; + libraries += boost_mpi_python ; python-extension mpi : # Sources @@ -116,8 +96,8 @@ libraries += boost_mpi ; python/status.cpp python/py_timer.cpp : # Requirements - /boost/python//$(lib_boost_python($(py$(N)-version))) - $(lib_boost_mpi_python($(py$(N)-version))) + /boost/python//boost_python + boost_mpi_python boost_mpi /mpi//mpi [ mpi.extra-requirements ] shared:BOOST_MPI_DYN_LINK=1 @@ -125,16 +105,7 @@ libraries += boost_mpi ; shared:BOOST_PYTHON_DYN_LINK=1 shared shared on:BOOST_DEBUG_PYTHON - $(py$(N)-version) ; - - libraries += $(lib_boost_mpi_python($(py$(N)-version))) ; - } - else - { - alias $(lib_boost_mpi_python($(N))) ; - } - } } } else if ! ( --without-mpi in [ modules.peek : ARGV ] ) Index: boost_1_67_0/libs/python/Jamfile =================================================================== --- boost_1_67_0.orig/libs/python/Jamfile +++ boost_1_67_0/libs/python/Jamfile @@ -36,9 +36,10 @@ local rule split-version ( version ) # For example, Boost.Python built for Python 2.7 uses the suffix "27" rule version-suffix ( version ) { - local major-minor = [ split-version $(version) ] ; - local suffix = $(major-minor:J="") ; - return $(suffix) ; + # local major-minor = [ split-version $(version) ] ; + # local suffix = $(major-minor:J="") ; + # return $(suffix) ; + return "" ; }