diff --git a/1d862615.patch b/1d862615.patch deleted file mode 100644 index 89317cd..0000000 --- a/1d862615.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit 1d86261581230e2dc5d617a9b16287d326f3e229 -Author: Robert Ramey -Date: Wed Feb 1 16:43:59 2017 -0800 - - correct error which appeared when compiling non c++ compliant code for arrays - -diff --git a/include/boost/serialization/array.hpp b/include/boost/serialization/array.hpp -index 61708b3..612d1a6 100644 ---- a/include/boost/serialization/array.hpp -+++ b/include/boost/serialization/array.hpp -@@ -23,6 +23,8 @@ namespace std{ - } // namespace std - #endif - -+#include -+ - #ifndef BOOST_NO_CXX11_HDR_ARRAY - - #include diff --git a/baselibs.conf b/baselibs.conf index ed0f59f..f14fc51 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,27 +1,28 @@ -boost_1_64-devel +boost_1_65-devel requires -boost- -libboost_atomic1_64_0 -libboost_container1_64_0 -libboost_context1_64_0 -libboost_coroutine1_64_0 -libboost_date_time1_64_0 -libboost_fiber1_64_0 -libboost_filesystem1_64_0 -libboost_graph1_64_0 -libboost_graph_parallel1_64_0 -libboost_iostreams1_64_0 -libboost_locale1_64_0 -libboost_math1_64_0 -libboost_mpi1_64_0 -libboost_test1_64_0 -libboost_program_options1_64_0 -libboost_python-py2_7-1_64_0 -libboost_python-py3-1_64_0 -libboost_random1_64_0 -libboost_serialization1_64_0 -libboost_signals1_64_0 -libboost_system1_64_0 -libboost_thread1_64_0 -libboost_type_erasure1_64_0 -libboost_wave1_64_0 -libboost_regex1_64_0 +libboost_atomic1_65_1 +libboost_container1_65_1 +libboost_context1_65_1 +libboost_coroutine1_65_1 +libboost_date_time1_65_1 +libboost_fiber1_65_1 +libboost_filesystem1_65_1 +libboost_graph1_65_1 +libboost_graph_parallel1_65_1 +libboost_iostreams1_65_1 +libboost_locale1_65_1 +libboost_math1_65_1 +libboost_mpi1_65_1 +libboost_test1_65_1 +libboost_program_options1_65_1 +libboost_python-py2_7-1_65_1 +libboost_python-py3-1_65_1 +libboost_random1_65_1 +libboost_serialization1_65_1 +libboost_signals1_65_1 +libboost_stacktrace1_65_1 +libboost_system1_65_1 +libboost_thread1_65_1 +libboost_type_erasure1_65_1 +libboost_wave1_65_1 +libboost_regex1_65_1 diff --git a/boost-1.57.0-python-abi_letters.patch b/boost-1.57.0-python-abi_letters.patch index 741d1f2..6460af5 100644 --- a/boost-1.57.0-python-abi_letters.patch +++ b/boost-1.57.0-python-abi_letters.patch @@ -1,6 +1,8 @@ ---- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200 -+++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200 -@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti +Index: boost_1_65_0/tools/build/src/tools/python.jam +=================================================================== +--- boost_1_65_0.orig/tools/build/src/tools/python.jam ++++ boost_1_65_0/tools/build/src/tools/python.jam +@@ -99,7 +99,7 @@ py3-version = ; # using python : 2.3 : /usr/local/bin/python ; # rule init ( version ? : cmd-or-prefix ? : includes * : libraries ? @@ -9,7 +11,7 @@ { project.push-current $(.project) ; -@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ? +@@ -112,7 +112,7 @@ rule init ( version ? : cmd-or-prefix ? } } @@ -18,7 +20,7 @@ project.pop-current ; } -@@ -653,7 +653,7 @@ local rule system-library-dependencies ( +@@ -659,7 +659,7 @@ local rule system-library-dependencies ( # Declare a target to represent Python's library. # @@ -27,7 +29,7 @@ { # Compute the representation of Python version in the name of Python's # library file. -@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve +@@ -683,13 +683,13 @@ local rule declare-libpython-target ( ve } # Declare it. @@ -43,15 +45,15 @@ { local prefix ; local exec-prefix ; -@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o +@@ -705,6 +705,7 @@ local rule configure ( version ? : cmd-o extension-suffix ?= _d ; } extension-suffix ?= "" ; + abi-letters ?= "" ; - # Normalize and dissect any version number. - local major-minor ; -@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o + local cmds-to-try ; + +@@ -968,7 +969,7 @@ local rule configure ( version ? : cmd-o } else { diff --git a/boost.changes b/boost.changes index 47cd37f..4311c38 100644 --- a/boost.changes +++ b/boost.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Wed Sep 20 11:54:35 UTC 2017 - adam.majer@suse.de + +- New upstream version 1.65.1 + + config, fiber - Return a continuation from functions executed + by resume_with. + + stacktrace - Change preprocessor file extensions to work with + the installation system. + +- Changes in version 1.65.0 + + stacktrace - new library providing call sequence in human + readable format. + + polycollection - new library providing fast containers of + polymorphic objects, from Joaquín M López Muñoz. + + For full list of changes, see + http://www.boost.org/users/history/version_1_65_1.html +- 1d862615.patch: upstreamed and removed +- gcc_path.patch: obsolete, tr1 module is removed +- mpi_upstream.patch: upstreamed and removed +- boost-1.57.0-python-abi_letters.patch: refreshed +- python_library_name.patch: refreshed and reverted upstream + changes to mpi/build/Jamfile as we are building python2 and + python3 versions of MPI separately. +- baselibs.conf + + add libboost_stracktrace + + update to version 1.65.1 + ------------------------------------------------------------------- Tue May 9 10:52:38 UTC 2017 - adam.majer@suse.de diff --git a/boost.spec b/boost.spec index e58fe2e..399fe3e 100644 --- a/boost.spec +++ b/boost.spec @@ -16,11 +16,11 @@ # -%define ver 1.64.0 -%define file_version 1_64_0 +%define ver 1.65.1 +%define file_version 1_65_1 %define docs_version 1.56.0 %define short_version 1_56 -%define lib_appendix 1_64_0 +%define lib_appendix 1_65_1 %bcond_with build_docs %bcond_without package_pdf %bcond_without build_quickbook @@ -68,8 +68,8 @@ #%endif Name: boost -%define package_name boost_1_64 -Version: 1.64.0 +%define package_name boost_1_65 +Version: 1.65.1 Release: 0 Summary: Boost C++ Libraries License: BSL-1.0 @@ -100,11 +100,8 @@ Patch15: boost-1.57.0-python-abi_letters.patch Patch16: boost-1.55.0-python-test-PyImport_AppendInittab.patch Patch17: python_mpi.patch Patch18: dynamic_linking.patch -Patch19: mpi_upstream.patch Patch20: python_library_name.patch Patch21: python_numpy_retfunc.patch -Patch22: 1d862615.patch -Patch100: gcc_path.patch BuildRequires: chrpath BuildRequires: dos2unix BuildRequires: fdupes @@ -841,6 +838,27 @@ This package contains development headers for Boost.Signals library. Boost.Signals is deprecated in favour of Boost.Signals2, a header-only library and part of libboost_headers-devel. +%package -n libboost_stacktrace%{lib_appendix} +Summary: Boost.Stacktrace runtime library +Group: System/Libraries +Requires: boost-license%{lib_appendix} + +%description -n libboost_stacktrace%{lib_appendix} +This package contains the Boost.Stacktrace runtime library. + +%package -n libboost_stacktrace%{lib_appendix}-devel +Summary: Development headers for Boost.Stacktrace library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_stacktrace%{lib_appendix} = %{version} +Provides: libboost_stacktrace-devel = %{version} +Conflicts: otherproviders(libboost_stacktrace-devel) + +%description -n libboost_stacktrace%{lib_appendix}-devel +This package contains development headers for Boost.Stacktrace library. +Boost.Stacktrace is a simple C++03 library that provide information +about call sequence in a human-readable form. + %package -n libboost_system%{lib_appendix} Summary: Boost.System runtime library Group: System/Libraries @@ -1059,11 +1077,8 @@ find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {} %patch16 -p1 %patch17 -p1 %patch18 -p1 -%patch19 -p1 %patch20 -p1 %patch21 -p1 -%patch22 -p2 -%patch100 -p1 #stupid build machinery copies .orig files # find . -name \*.orig -exec rm {} + @@ -1084,8 +1099,8 @@ PY_LIBRARIES_FLAGS+=" --with-mpi" export LIBRARIES_FLAGS="--without-python" %if ! %{with build_context} -# coroutine/coroutine2 depend on context -LIBRARIES_FLAGS+=" --without-context --without-coroutine --without-coroutine2" +# coroutine depends on context +LIBRARIES_FLAGS+=" --without-context --without-coroutine" %endif %if ! %{with boost_fiber} @@ -1152,14 +1167,14 @@ cp user-config.jam user-config-py3.jam %{?!python3_version: %define python3_version %py3_ver } cat << EOF >> user-config-py3.jam -using python +using python : %{python3_version} : %{_bindir}/python3 : %{_includedir}/python%{python3_version}%{py3_abiflags} : : - : .%{py3_soflags} - : %{py3_abiflags} + : .%{py3_soflags} + : %{py3_abiflags} ; %if %{with build_mpi} using mpi ; @@ -1346,27 +1361,16 @@ rm -r %{buildroot}%{_includedir}/boost/context %endif %post -n libboost_atomic%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_container%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_context%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_coroutine%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_date_time%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_fiber%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_filesystem%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_iostreams%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_log%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_test%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_program_options%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig %if %{with python_numpy} @@ -1375,71 +1379,47 @@ rm -r %{buildroot}%{_includedir}/boost/context %if %{with python3} %post -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig - %if %{with python_numpy} %post -n libboost_numpy-py3-%{lib_appendix} -p /sbin/ldconfig %endif %endif %post -n libboost_regex%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_serialization%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_signals%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_thread%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_type_erasure%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_math%{lib_appendix} -p /sbin/ldconfig + %if %{with build_mpi} %post -n libboost_mpi%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_graph_parallel%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_mpi_python-py2_7-%{lib_appendix} -p /sbin/ldconfig - %if %{with python3} %post -n libboost_mpi_python-py3-%{lib_appendix} -p /sbin/ldconfig %endif %endif %post -n libboost_graph%{lib_appendix} -p /sbin/ldconfig - +%post -n libboost_stacktrace%{lib_appendix} -p /sbin/ldconfig %post -n libboost_system%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_wave%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_random%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_chrono%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_locale%{lib_appendix} -p /sbin/ldconfig - %post -n libboost_timer%{lib_appendix} -p /sbin/ldconfig %postun -n libboost_atomic%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_container%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_context%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_coroutine%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_date_time%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_fiber%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_filesystem%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_iostreams%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_log%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_test%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_program_options%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig %if %{with python_numpy} @@ -1448,47 +1428,34 @@ rm -r %{buildroot}%{_includedir}/boost/context %if %{with python3} %postun -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig - %if %{with python_numpy} %postun -n libboost_numpy-py3-%{lib_appendix} -p /sbin/ldconfig %endif %endif %postun -n libboost_regex%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_serialization%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_signals%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_thread%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_type_erasure%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_math%{lib_appendix} -p /sbin/ldconfig + %if %{with build_mpi} %postun -n libboost_mpi%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_graph_parallel%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_mpi_python-py2_7-%{lib_appendix} -p /sbin/ldconfig - %if %{with python3} %postun -n libboost_mpi_python-py3-%{lib_appendix} -p /sbin/ldconfig %endif %endif %postun -n libboost_graph%{lib_appendix} -p /sbin/ldconfig - +%postun -n libboost_stacktrace%{lib_appendix} -p /sbin/ldconfig %postun -n libboost_system%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_wave%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_random%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_chrono%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_locale%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_timer%{lib_appendix} -p /sbin/ldconfig %files -n %{package_name}-jam @@ -1746,6 +1713,18 @@ rm -r %{buildroot}%{_includedir}/boost/context %defattr(-, root, root, -) %{_libdir}/libboost_signals.so +%files -n libboost_stacktrace%{lib_appendix} +%defattr(-, root, root, -) +%{_libdir}/libboost_stacktrace_addr2line.so.%{version} +%{_libdir}/libboost_stacktrace_basic.so.%{version} +%{_libdir}/libboost_stacktrace_noop.so.%{version} + +%files -n libboost_stacktrace%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_stacktrace_addr2line.so +%{_libdir}/libboost_stacktrace_basic.so +%{_libdir}/libboost_stacktrace_noop.so + %files -n libboost_system%{lib_appendix} %defattr(-, root, root, -) %{_libdir}/libboost_system.so.%{version} diff --git a/boost_1_64_0.tar.bz2 b/boost_1_64_0.tar.bz2 deleted file mode 100644 index dc3866c..0000000 --- a/boost_1_64_0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332 -size 80472424 diff --git a/boost_1_65_1.tar.bz2 b/boost_1_65_1.tar.bz2 new file mode 100644 index 0000000..e6e83a8 --- /dev/null +++ b/boost_1_65_1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81 +size 82594767 diff --git a/gcc_path.patch b/gcc_path.patch deleted file mode 100644 index 78b6c38..0000000 --- a/gcc_path.patch +++ /dev/null @@ -1,32 +0,0 @@ -Author: Adam Majer -Date: Mon, 12 Sep 2016 17:12:13 +0200 -Summary: Adapt paths for our GCC versions -Bugs: bnc#996917 - -Boost assumes /usr/include/c++/x.y.z/ existence for GCC 4.x -onward while our version of GCC only has /usr/include/c++/x.y -for 4.x GCC and /usr/include/c++/x/ for 5.x onward. - -Index: boost_1_64_0/boost/tr1/detail/config_all.hpp -=================================================================== ---- boost_1_64_0.orig/boost/tr1/detail/config_all.hpp -+++ boost_1_64_0/boost/tr1/detail/config_all.hpp -@@ -102,14 +102,12 @@ - // compiler version: - # define BOOST_TR1_STD_HEADER(name) <../4.0.0/name> - /* -- * Before version 3.4.0 the 0 patch level was not part of the include path: -+ * SUSE GCC 4.x has 2 level directory and GCC 5.x and 6.x, only __GNUC__ - */ --# elif defined (__GNUC_PATCHLEVEL__) && ((__GNUC_PATCHLEVEL__ > 0) || \ -- (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ -- (__GNUC__ > 3)) --# define BOOST_TR1_STD_HEADER(name) <../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__/name> --# else -+# elif __GNUC__ < 5 - # define BOOST_TR1_STD_HEADER(name) <../__GNUC__.__GNUC_MINOR__/name> -+# else -+# define BOOST_TR1_STD_HEADER(name) <../__GNUC__/name> - # endif - # endif - diff --git a/mpi_upstream.patch b/mpi_upstream.patch deleted file mode 100644 index ac988a7..0000000 --- a/mpi_upstream.patch +++ /dev/null @@ -1,178 +0,0 @@ -commit f5bdcc1ebfe954bb64835f2a0efd94471da42207 -Author: Jonathan Wakely -Date: Thu Feb 23 02:18:58 2017 +0000 - - Replace boost::serialization::detail::get_data function. (#39) - -commit 947d17157304ceb93926ab961487e9c86fc7c2d2 -Author: Jonathan Wakely -Date: Thu Feb 23 02:19:45 2017 +0000 - - Add header for serialization::make_array (#40) - -commit b21d95676028e45a6743be9898306f13fe715282 -Author: Andrey Semashev -Date: Thu Feb 23 05:17:32 2017 +0300 - - Fix incorrect usage of auto_ptr to free an array (#38) - - The `auto_ptr` would use `delete p` to free an array allocated with `operator new[]`, which could result in heap corruption. Replaced it with `scoped_array`. - -commit 98c406a77f8506550276a8e81ad6ed0c961fca8f -Author: Alain Miniussi -Date: Thu Feb 23 11:26:49 2017 +0100 - - documentation typo - -Index: boost_1_64_0/boost/mpi/python/serialize.hpp -=================================================================== ---- boost_1_64_0.orig/boost/mpi/python/serialize.hpp -+++ boost_1_64_0/boost/mpi/python/serialize.hpp -@@ -26,7 +26,6 @@ - #include - #include - --#include - #include - - #include -@@ -36,6 +35,9 @@ - - #include - #include -+#include -+ -+#include - - #include - -@@ -441,7 +443,7 @@ load_impl(Archiver& ar, boost::python::o - int len; - ar >> len; - -- std::auto_ptr string(new char[len]); -+ boost::scoped_array string(new char[len]); - ar >> boost::serialization::make_array(string.get(), len); - boost::python::str py_string(string.get(), len); - obj = boost::python::pickle::loads(py_string); -Index: boost_1_64_0/boost/mpi/detail/mpi_datatype_primitive.hpp -=================================================================== ---- boost_1_64_0.orig/boost/mpi/detail/mpi_datatype_primitive.hpp -+++ boost_1_64_0/boost/mpi/detail/mpi_datatype_primitive.hpp -@@ -25,7 +25,6 @@ namespace std{ - #include - #include - #include --#include - #include - #include - #include -@@ -80,18 +79,18 @@ public: - BOOST_MPI_CHECK_RESULT(MPI_Type_create_struct, - ( - addresses.size(), -- boost::serialization::detail::get_data(lengths), -- boost::serialization::detail::get_data(addresses), -- boost::serialization::detail::get_data(types), -+ get_data(lengths), -+ get_data(addresses), -+ get_data(types), - &datatype_ - )); - #else - BOOST_MPI_CHECK_RESULT(MPI_Type_struct, - ( - addresses.size(), -- boost::serialization::detail::get_data(lengths), -- boost::serialization::detail::get_data(addresses), -- boost::serialization::detail::get_data(types), -+ get_data(lengths), -+ get_data(addresses), -+ get_data(types), - &datatype_ - )); - #endif -@@ -129,6 +128,12 @@ private: - lengths.push_back(l); - } - -+ template -+ static T* get_data(std::vector& v) -+ { -+ return v.empty() ? 0 : &(v[0]); -+ } -+ - std::vector addresses; - std::vector types; - std::vector lengths; -Index: boost_1_64_0/boost/mpi/detail/packed_iprimitive.hpp -=================================================================== ---- boost_1_64_0.orig/boost/mpi/detail/packed_iprimitive.hpp -+++ boost_1_64_0/boost/mpi/detail/packed_iprimitive.hpp -@@ -16,7 +16,6 @@ - #include - #include - #include --#include - #include - #include - -@@ -104,7 +103,12 @@ private: - void load_impl(void * p, MPI_Datatype t, int l) - { - BOOST_MPI_CHECK_RESULT(MPI_Unpack, -- (const_cast(boost::serialization::detail::get_data(buffer_)), buffer_.size(), &position, p, l, t, comm)); -+ (get_data(buffer_), buffer_.size(), &position, p, l, t, comm)); -+ } -+ -+ static buffer_type::value_type* get_data(buffer_type& b) -+ { -+ return b.empty() ? 0 : &(b[0]); - } - - buffer_type & buffer_; -Index: boost_1_64_0/boost/mpi/detail/packed_oprimitive.hpp -=================================================================== ---- boost_1_64_0.orig/boost/mpi/detail/packed_oprimitive.hpp -+++ boost_1_64_0/boost/mpi/detail/packed_oprimitive.hpp -@@ -15,7 +15,6 @@ - - #include - #include --#include - #include - #include - #include -@@ -98,13 +97,18 @@ private: - - // pack the data into the buffer - BOOST_MPI_CHECK_RESULT(MPI_Pack, -- (const_cast(p), l, t, boost::serialization::detail::get_data(buffer_), buffer_.size(), &position, comm)); -+ (const_cast(p), l, t, get_data(buffer_), buffer_.size(), &position, comm)); - // reduce the buffer size if needed - BOOST_ASSERT(std::size_t(position) <= buffer_.size()); - if (std::size_t(position) < buffer_.size()) - buffer_.resize(position); - } - -+ static buffer_type::value_type* get_data(buffer_type& b) -+ { -+ return b.empty() ? 0 : &(b[0]); -+ } -+ - buffer_type& buffer_; - mutable std::size_t size_; - MPI_Comm comm; -Index: boost_1_64_0/boost/mpi/communicator.hpp -=================================================================== ---- boost_1_64_0.orig/boost/mpi/communicator.hpp -+++ boost_1_64_0/boost/mpi/communicator.hpp -@@ -850,7 +850,7 @@ class BOOST_MPI_DECL communicator - optional as_graph_communicator() const; - - /** -- * Determines whether this communicator has a Cartesian topology. -+ * Determines whether this communicator has a Graph topology. - */ - bool has_cartesian_topology() const; - diff --git a/python_library_name.patch b/python_library_name.patch index a6d99ba..a979382 100644 --- a/python_library_name.patch +++ b/python_library_name.patch @@ -27,10 +27,10 @@ MPI module needs to reference correct python ~ boost_mpi_python ~ boost_mpi ~ /mpi//mpi [ mpi.extra-requirements ] -Index: boost_1_64_0/libs/python/build/Jamfile +Index: boost_1_65_0/libs/python/build/Jamfile =================================================================== ---- boost_1_64_0.orig/libs/python/build/Jamfile -+++ boost_1_64_0/libs/python/build/Jamfile +--- boost_1_65_0.orig/libs/python/build/Jamfile ++++ boost_1_65_0/libs/python/build/Jamfile @@ -42,15 +42,15 @@ rule cond ( test ? : yes * : no * ) { if rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } } local rule eq ( a : b ) { if $(a) = $(b) { return 1 ; } } @@ -50,9 +50,9 @@ Index: boost_1_64_0/libs/python/build/Jamfile - lib $(lib_boost_python($(version))) + lib boost_python #$(lib_boost_python($(version))) : # sources - numeric.cpp list.cpp -@@ -122,16 +122,16 @@ rule lib_boost_python ( version ) + long.cpp +@@ -121,16 +121,16 @@ rule lib_boost_python ( version ) ; } @@ -74,7 +74,7 @@ Index: boost_1_64_0/libs/python/build/Jamfile : # sources numpy/dtype.cpp numpy/matrix.cpp -@@ -173,7 +173,7 @@ for local N in 2 3 +@@ -172,7 +172,7 @@ for local N in 2 3 } else { @@ -83,7 +83,7 @@ Index: boost_1_64_0/libs/python/build/Jamfile } if $(py$(N)-version) && [ python.numpy ] { -@@ -182,7 +182,7 @@ for local N in 2 3 +@@ -181,7 +181,7 @@ for local N in 2 3 } else { @@ -92,3 +92,85 @@ Index: boost_1_64_0/libs/python/build/Jamfile } } +Index: boost_1_65_0/libs/mpi/build/Jamfile.v2 +=================================================================== +--- boost_1_65_0.orig/libs/mpi/build/Jamfile.v2 ++++ boost_1_65_0/libs/mpi/build/Jamfile.v2 +@@ -58,33 +58,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 +@@ -92,12 +72,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 +@@ -114,8 +94,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 +@@ -123,16 +103,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 ] )