Hello community, here is the log from the commit of package boost for openSUSE:Factory checked in at 2017-04-30 21:09:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/boost (Old) and /work/SRC/openSUSE:Factory/.boost.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "boost" Sun Apr 30 21:09:43 2017 rev:115 rq:489818 version:1.64.0 Changes: -------- --- /work/SRC/openSUSE:Factory/boost/boost.changes 2017-02-19 00:45:28.334937882 +0100 +++ /work/SRC/openSUSE:Factory/.boost.new/boost.changes 2017-04-30 21:09:44.976384320 +0200 @@ -1,0 +2,35 @@ +Thu Apr 20 13:52:20 EST 2017 - adam.ma...@suse.de + +- New upstream version 1.64.0 + + process - new library providing cross platform methods to + - create child processes + - setup stream for child processes + - sync and async communication streams with children + - sync and async wait + - process termination + + geometry library had some breaking changes, + - ublas_transformer is renamed to matrix_transformer + - explicit modifier is added to constructors of rtree + index::dynamic_* parameters + - strategy::area::huiller replaced by strategy::area::spherical + + context library updates + - deprecated API:execution-context + - fixed bad assembly for fcontext on ppc64/sysv/elf + + Updated libraries: any, atomic, config, container, context, + conversion, core, coroutine2, fiber, hash, interprocess, + intrusive, lexicalcast, math, multi-index containers, + multiprecision, predef, program options, regex, smart pointers, + test ,typeindex, typetraits, unordered, variant + + for details, see + http://www.boost.org/users/history/version_1_64_0.html +- Build PyNumpy module + + add build requires on python-numpy +- test_lowcase.patch: upstreamed +- refreshed patches: boost-strict_aliasing.patch, gcc_path.patch, + python_mpi.patch +- mpi_upstream.patch: pending upstream fixes to OpenMPI build +- python_library_name.patch: we are building python versions in + different stagings so drop library renames. +- python_numpy_retfunc.patch: rpmlint fixes + +------------------------------------------------------------------- Old: ---- boost_1_63_0.tar.bz2 test_lowcase.patch New: ---- boost_1_64_0.tar.bz2 mpi_upstream.patch python_library_name.patch python_numpy_retfunc.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ boost.spec ++++++ --- /var/tmp/diff_new_pack.W3DLgi/_old 2017-04-30 21:09:53.455189022 +0200 +++ /var/tmp/diff_new_pack.W3DLgi/_new 2017-04-30 21:09:53.459188458 +0200 @@ -16,11 +16,11 @@ # -%define ver 1.63.0 -%define file_version 1_63_0 +%define ver 1.64.0 +%define file_version 1_64_0 %define docs_version 1.56.0 %define short_version 1_56 -%define lib_appendix 1_63_0 +%define lib_appendix 1_64_0 %bcond_with build_docs %bcond_without package_pdf %bcond_without build_quickbook @@ -60,8 +60,8 @@ #%endif Name: boost -%define package_name boost_1_63 -Version: 1.63.0 +%define package_name boost_1_64 +Version: 1.64.0 Release: 0 Summary: Boost C++ Libraries License: BSL-1.0 @@ -92,7 +92,9 @@ Patch16: boost-1.55.0-python-test-PyImport_AppendInittab.patch Patch17: python_mpi.patch Patch18: dynamic_linking.patch -Patch19: test_lowcase.patch +Patch19: mpi_upstream.patch +Patch20: python_library_name.patch +Patch21: python_numpy_retfunc.patch Patch100: gcc_path.patch BuildRequires: chrpath BuildRequires: dos2unix @@ -110,8 +112,10 @@ BuildRequires: libexpat-devel BuildRequires: libicu-devel BuildRequires: python-devel +BuildRequires: python-numpy-devel %if %{with python3} BuildRequires: python3-devel +BuildRequires: python3-numpy-devel %endif #!BuildIgnore: python BuildRequires: zlib-devel @@ -705,7 +709,29 @@ Conflicts: boost-devel < 1.63 %description -n libboost_python-py2_7-%{lib_appendix}-devel -Development headers for Boost.Python library for the default version of +Development headers for Boost::Python library for the default version of +python. + +%package -n libboost_numpy-py2_7-%{lib_appendix} +Summary: Boost.Python.NumPy runtime library +Group: System/Libraries +Requires: boost-license%{lib_appendix} + +%description -n libboost_numpy-py2_7-%{lib_appendix} +This package contains the Boost::Python::NumPy runtime library for default +version of python. + +%package -n libboost_numpy-py2_7-%{lib_appendix}-devel +Summary: Development headers for Boost.Python.NumPy library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_numpy-py2_7-%{lib_appendix} = %{version} +Provides: libboost_numpy-devel = %{version} +Conflicts: otherproviders(libboost_numpy-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_numpy-py2_7-%{lib_appendix}-devel +Development headers for Boost::Python::NumPy library for the default version of python. %if %{with python3} @@ -731,6 +757,28 @@ Development headers for Boost.Python library. This package contains library for python3 development for boost. +%package -n libboost_numpy-py3-%{lib_appendix} +Summary: Boost.Python.NumPy runtime library +Group: System/Libraries +Requires: boost-license%{lib_appendix} + +%description -n libboost_numpy-py3-%{lib_appendix} +This package contains the Boost.Python.NumPy runtime libraries for python3 +bindings. + +%package -n libboost_numpy-py3-%{lib_appendix}-devel +Summary: Development headers for Boost.Python.NumPy library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_numpy-py3-%{lib_appendix} = %{version} +Provides: libboost_numpy3-devel = %{version} +Conflicts: otherproviders(libboost_numpy3-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_numpy-py3-%{lib_appendix}-devel +Development headers for Boost.Python.NumPy library. This package contains +library for python3 development for boost. + %endif # with python3 %package -n libboost_serialization%{lib_appendix} @@ -995,6 +1043,8 @@ %patch17 -p1 %patch18 -p1 %patch19 -p1 +%patch20 -p1 +%patch21 -p1 %patch100 -p1 #stupid build machinery copies .orig files @@ -1044,6 +1094,8 @@ import os ; local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ; using gcc : : : <compileflags>\$(RPM_OPT_FLAGS) ; +project user-config ; +alias boost_python_alias : : <library>/boost/python//boost_python ; EOF # Build boost base PYTHON and MPI, installed in python staging @@ -1076,13 +1128,14 @@ # Build boost python3 and MPI, installed in python3 staging %if %{with python3} -%{?!py3_abiflags:%define py3_abiflags m} cp user-config.jam user-config-py3.jam +# sed -i -e 's#//boost_python#//boost_python3#' ./user-config-py3.jam +%{?!py3_abiflags:%define py3_abiflags m} cat << EOF >> user-config-py3.jam using python - : %{py3_ver} + : %{python3_version} : %{_bindir}/python3 - : %{_includedir}/python%{py3_ver}%{py3_abiflags} + : %{_includedir}/python%{python3_version}%{py3_abiflags} : : : .%{py3_soflags} @@ -1189,7 +1242,7 @@ rm %{buildroot}%{_libdir}/libboost_mpi_python.so rm %{buildroot}%{_libdir}/libboost_mpi_python.so.%{version} rm %{buildroot}%{_libdir}/libboost_python.so -rm %{buildroot}%{_libdir}/libboost_python.so.1.63.0 +rm %{buildroot}%{_libdir}/libboost_python.so.%{version} ! $(ldd %{buildroot}%{_libdir}/*.so* | grep python\\.) @@ -1197,8 +1250,8 @@ ln -s libboost_python-py2_7.so %{buildroot}%{_libdir}/libboost_python.so %if %{with python3} -rm %{buildroot}%{_libdir}/libboost_python3-py3.so -rm %{buildroot}%{_libdir}/libboost_python3-py3.so.%{version} +#rm %{buildroot}%{_libdir}/libboost_python3-py3.so +#rm %{buildroot}%{_libdir}/libboost_python3-py3.so.%{version} ! $(ldd %{buildroot}%{_libdir}/*.so* | grep python3-\\.) @@ -1296,8 +1349,12 @@ %post -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig +%post -n libboost_numpy-py2_7-%{lib_appendix} -p /sbin/ldconfig + %if %{with python3} %post -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig + +%post -n libboost_numpy-py3-%{lib_appendix} -p /sbin/ldconfig %endif %post -n libboost_regex%{lib_appendix} -p /sbin/ldconfig @@ -1361,8 +1418,12 @@ %postun -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig +%postun -n libboost_numpy-py2_7-%{lib_appendix} -p /sbin/ldconfig + %if %{with python3} %postun -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig + +%postun -n libboost_numpy-py3-%{lib_appendix} -p /sbin/ldconfig %endif %postun -n libboost_regex%{lib_appendix} -p /sbin/ldconfig @@ -1607,6 +1668,14 @@ %{_libdir}/libboost_python.so %{_libdir}/libboost_python-py2_7.so +%files -n libboost_numpy-py2_7-%{lib_appendix} +%defattr(-, root, root, -) +%{_libdir}/libboost_numpy-py2_7.so.%{version} + +%files -n libboost_numpy-py2_7-%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_numpy-py2_7.so + %if %{with python3} %files -n libboost_python-py3-%{lib_appendix} %defattr(-, root, root, -) @@ -1617,6 +1686,14 @@ %{_libdir}/libboost_python3.so %{_libdir}/libboost_python-py3.so +%files -n libboost_numpy-py3-%{lib_appendix} +%defattr(-, root, root, -) +%{_libdir}/libboost_numpy-py3.so.%{version} + +%files -n libboost_numpy-py3-%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_numpy-py3.so + %endif # with python3 %files -n libboost_serialization%{lib_appendix} ++++++ baselibs.conf ++++++ --- /var/tmp/diff_new_pack.W3DLgi/_old 2017-04-30 21:09:53.615166469 +0200 +++ /var/tmp/diff_new_pack.W3DLgi/_new 2017-04-30 21:09:53.615166469 +0200 @@ -1,27 +1,27 @@ -boost_1_63-devel +boost_1_64-devel requires -boost-<targettype> -libboost_atomic1_63_0 -libboost_container1_63_0 -libboost_context1_63_0 -libboost_coroutine1_63_0 -libboost_date_time1_63_0 -libboost_fiber1_63_0 -libboost_filesystem1_63_0 -libboost_graph1_63_0 -libboost_graph_parallel1_63_0 -libboost_iostreams1_63_0 -libboost_locale1_63_0 -libboost_math1_63_0 -libboost_mpi1_63_0 -libboost_test1_63_0 -libboost_program_options1_63_0 -libboost_python-py2_7-1_63_0 -libboost_python-py3-1_63_0 -libboost_random1_63_0 -libboost_serialization1_63_0 -libboost_signals1_63_0 -libboost_system1_63_0 -libboost_thread1_63_0 -libboost_type_erasure1_63_0 -libboost_wave1_63_0 -libboost_regex1_63_0 +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 ++++++ boost-strict_aliasing.patch ++++++ --- /var/tmp/diff_new_pack.W3DLgi/_old 2017-04-30 21:09:53.683156884 +0200 +++ /var/tmp/diff_new_pack.W3DLgi/_new 2017-04-30 21:09:53.687156320 +0200 @@ -2,11 +2,11 @@ =================================================================== --- libs/python/build/Jamfile.orig +++ libs/python/build/Jamfile -@@ -116,6 +116,7 @@ rule lib_boost_python ( is-py3 ? ) +@@ -110,6 +110,7 @@ rule lib_boost_python ( version ) -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag + <cxxflags>-fno-strict-aliasing - : # default build - <link>shared + <conditional>@python.require-py + ++++++ boost_1_63_0.tar.bz2 -> boost_1_64_0.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/boost/boost_1_63_0.tar.bz2 /work/SRC/openSUSE:Factory/.boost.new/boost_1_64_0.tar.bz2 differ: char 11, line 1 ++++++ gcc_path.patch ++++++ --- /var/tmp/diff_new_pack.W3DLgi/_old 2017-04-30 21:09:53.823137151 +0200 +++ /var/tmp/diff_new_pack.W3DLgi/_new 2017-04-30 21:09:53.823137151 +0200 @@ -7,10 +7,10 @@ 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_62_0/boost/tr1/detail/config_all.hpp +Index: boost_1_64_0/boost/tr1/detail/config_all.hpp =================================================================== ---- boost_1_62_0.orig/boost/tr1/detail/config_all.hpp -+++ boost_1_62_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> ++++++ mpi_upstream.patch ++++++ commit f5bdcc1ebfe954bb64835f2a0efd94471da42207 Author: Jonathan Wakely <git...@kayari.org> Date: Thu Feb 23 02:18:58 2017 +0000 Replace boost::serialization::detail::get_data function. (#39) commit 947d17157304ceb93926ab961487e9c86fc7c2d2 Author: Jonathan Wakely <git...@kayari.org> Date: Thu Feb 23 02:19:45 2017 +0000 Add header for serialization::make_array (#40) commit b21d95676028e45a6743be9898306f13fe715282 Author: Andrey Semashev <lasti...@users.noreply.github.com> 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 <alain.miniu...@oca.eu> 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 <boost/python/str.hpp> #include <boost/python/extract.hpp> -#include <memory> #include <map> #include <boost/function/function3.hpp> @@ -36,6 +35,9 @@ #include <boost/serialization/split_free.hpp> #include <boost/serialization/array.hpp> +#include <boost/serialization/array_wrapper.hpp> + +#include <boost/smart_ptr/scoped_array.hpp> #include <boost/assert.hpp> @@ -441,7 +443,7 @@ load_impl(Archiver& ar, boost::python::o int len; ar >> len; - std::auto_ptr<char> string(new char[len]); + boost::scoped_array<char> 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 <boost/assert.hpp> #include <boost/mpl/placeholders.hpp> #include <boost/serialization/array.hpp> -#include <boost/serialization/detail/get_data.hpp> #include <stdexcept> #include <iostream> #include <vector> @@ -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 <class T> + static T* get_data(std::vector<T>& v) + { + return v.empty() ? 0 : &(v[0]); + } + std::vector<MPI_Aint> addresses; std::vector<MPI_Datatype> types; std::vector<int> 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 <boost/mpi/exception.hpp> #include <boost/assert.hpp> #include <boost/serialization/array.hpp> -#include <boost/serialization/detail/get_data.hpp> #include <vector> #include <boost/mpi/allocator.hpp> @@ -104,7 +103,12 @@ private: void load_impl(void * p, MPI_Datatype t, int l) { BOOST_MPI_CHECK_RESULT(MPI_Unpack, - (const_cast<char*>(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 <boost/mpi/datatype.hpp> #include <boost/mpi/exception.hpp> -#include <boost/serialization/detail/get_data.hpp> #include <boost/serialization/array.hpp> #include <boost/assert.hpp> #include <vector> @@ -98,13 +97,18 @@ private: // pack the data into the buffer BOOST_MPI_CHECK_RESULT(MPI_Pack, - (const_cast<void*>(p), l, t, boost::serialization::detail::get_data(buffer_), buffer_.size(), &position, comm)); + (const_cast<void*>(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<graph_communicator> 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; ++++++ python_library_name.patch ++++++ 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 ~ <library>boost_mpi ~ <library>/mpi//mpi [ mpi.extra-requirements ] ~- <library>/boost/python//boost_python ~ <link>shared:<define>BOOST_MPI_DYN_LINK=1 ~ <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1 ~ <link>shared:<define>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 ~- <library>/boost/python//boost_python ~ <library>boost_mpi_python ~ <library>boost_mpi ~ <library>/mpi//mpi [ mpi.extra-requirements ] Index: boost_1_64_0/libs/python/build/Jamfile =================================================================== --- boost_1_64_0.orig/libs/python/build/Jamfile +++ boost_1_64_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 ; } } -lib_boost_python(2) = boost_python ; -lib_boost_python(3) = boost_python3 ; +#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_python($(py2-version)) = $(lib_boost_python(2)) ; +#lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ; rule lib_boost_python ( version ) { - 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 ) ; } -lib_boost_numpy(2) = boost_numpy ; -lib_boost_numpy(3) = boost_numpy3 ; +#lib_boost_numpy(2) = boost_numpy ; +#lib_boost_numpy(3) = boost_numpy3 ; -lib_boost_numpy($(py2-version)) = $(lib_boost_numpy(2)) ; -lib_boost_numpy($(py3-version)) = $(lib_boost_numpy(3)) ; +#lib_boost_numpy($(py2-version)) = $(lib_boost_numpy(2)) ; +#lib_boost_numpy($(py3-version)) = $(lib_boost_numpy(3)) ; rule lib_boost_numpy ( version ) { numpy-include = [ python.numpy-include ] ; - lib $(lib_boost_numpy($(version))) + lib boost_numpy #$(lib_boost_numpy($(version))) : # sources numpy/dtype.cpp numpy/matrix.cpp @@ -173,7 +173,7 @@ for local N in 2 3 } else { - alias $(lib_boost_python($(N))) ; + #alias $(lib_boost_python($(N))) ; } if $(py$(N)-version) && [ python.numpy ] { @@ -182,7 +182,7 @@ for local N in 2 3 } else { - alias $(lib_boost_numpy($(N))) ; + #alias $(lib_boost_numpy($(N))) ; } } ++++++ python_mpi.patch ++++++ --- /var/tmp/diff_new_pack.W3DLgi/_old 2017-04-30 21:09:53.867130948 +0200 +++ /var/tmp/diff_new_pack.W3DLgi/_new 2017-04-30 21:09:53.867130948 +0200 @@ -5,10 +5,10 @@ properly. -Index: boost_1_63_0/libs/mpi/build/__init__.py +Index: boost_1_64_0/libs/mpi/build/__init__.py =================================================================== ---- boost_1_63_0.orig/libs/mpi/build/__init__.py -+++ boost_1_63_0/libs/mpi/build/__init__.py +--- boost_1_64_0.orig/libs/mpi/build/__init__.py ++++ boost_1_64_0/libs/mpi/build/__init__.py @@ -1,10 +1,7 @@ import sys -if sys.platform == 'linux2': ++++++ python_numpy_retfunc.patch ++++++ Author: Adam Majer <ama...@suse.de> Date: Tue Apr 4 10:18:49 CEST 2017 Summary: rpmlint fixes? After build, the following errors were returned. [ 110s] libs/python/src/numpy/numpy.cpp: In function 'void* boost::python::numpy::wrap_import_array()': [ 110s] libs/python/src/numpy/numpy.cpp:22:1: warning: control reaches end of non-void function [-Wreturn-type] [ 110s] } Index: boost_1_64_0/libs/python/src/numpy/numpy.cpp =================================================================== --- boost_1_64_0.orig/libs/python/src/numpy/numpy.cpp +++ boost_1_64_0/libs/python/src/numpy/numpy.cpp @@ -19,6 +19,7 @@ static void wrap_import_array() static void * wrap_import_array() { import_array(); + return NULL; // import_array no longer auto-returns? } #endif