Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 871607 Details for
Bug 801534
missing mpi.so library in boost mpi python
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Additional fixes.
0001-Fix-building-of-Python-module-for-Boost-MPI-and-ship.patch (text/plain), 6.69 KB, created by
Petr Machata
on 2014-03-06 20:23:52 UTC
(
hide
)
Description:
Additional fixes.
Filename:
MIME Type:
Creator:
Petr Machata
Created:
2014-03-06 20:23:52 UTC
Size:
6.69 KB
patch
obsolete
>From e378642043eeab65a605d69730117035b832b175 Mon Sep 17 00:00:00 2001 >From: Petr Machata <pmachata@redhat.com> >Date: Thu, 6 Mar 2014 21:20:23 +0100 >Subject: [PATCH] Fix building of Python module for Boost-MPI and ship it > >--- > __init__.py | 9 +++++++++ > boost-1.41.0-mpi-python.patch | 41 +++++++++++++++++++++++++++++++++++++++++ > boost.spec | 40 ++++++++++++++++++++++++++-------------- > 3 files changed, 76 insertions(+), 14 deletions(-) > create mode 100644 __init__.py > create mode 100644 boost-1.41.0-mpi-python.patch > >diff --git a/__init__.py b/__init__.py >new file mode 100644 >index 0000000..2e73922 >--- /dev/null >+++ b/__init__.py >@@ -0,0 +1,9 @@ >+import sys >+if sys.platform == 'linux2': >+ import DLFCN as dl >+ flags = sys.getdlopenflags() >+ sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL) >+ import mpi >+ sys.setdlopenflags(flags) >+else: >+ import mpi >diff --git a/boost-1.41.0-mpi-python.patch b/boost-1.41.0-mpi-python.patch >new file mode 100644 >index 0000000..17712c7 >--- /dev/null >+++ b/boost-1.41.0-mpi-python.patch >@@ -0,0 +1,41 @@ >+--- ./libs/mpi/src/CMakeLists.txt 2009-11-18 17:44:37.000000000 +0100 >++++ ./libs/mpi/src/CMakeLists.txt 2012-03-09 19:15:05.365549067 +0100 >+@@ -68,7 +71,7 @@ if (NOT APPLE) >+ python/status.cpp >+ python/py_timer.cpp >+ >+- DEPENDS boost_python boost_mpi >++ DEPENDS boost_python boost_mpi boost_mpi_python boost_serialization >+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1 -DBOOST_MPI_PYTHON_DYN_LINK=1 -DBOOST_PYTHON_DYN_LINK=1" >+ LINK_FLAGS ${MPI_LINK_FLAGS} >+ LINK_LIBS ${MPI_LIBRARIES} ${PYTHON_LIBRARIES} >+--- ./tools/build/CMake/BoostCore.cmake 2012-03-08 22:18:12.463206955 +0100 >++++ ./tools/build/CMake/BoostCore.cmake 2012-03-09 19:16:40.238345008 +0100 >+@@ -1491,19 +1491,19 @@ endmacro(boost_add_executable) >+ # Macro for building boost.python extensions >+ # >+ macro(boost_python_extension MODULE_NAME) >+- parse_arguments(BPL_EXT >+- "" >+- "" >+- ${ARGN}) >+- >++ parse_arguments(BPL_EXT >++ "DEPENDS;COMPILE_FLAGS;LINK_FLAGS;LINK_LIBS;${BOOST_ADD_ARG_NAMES}" >++ "${BOOST_ADDLIB_OPTION_NAMES}" >++ ${ARGN} >++ ) >++ >+ boost_add_single_library( >+ ${MODULE_NAME} >+ ${BPL_EXT_DEFAULT_ARGS} >+ MODULE >+- LINK_LIBS ${PYTHON_LIBRARIES} >+- DEPENDS boost_python >++ LINK_LIBS ${PYTHON_LIBRARIES} ${BPL_EXT_LINK_LIBS} >++ DEPENDS boost_python ${BPL_EXT_DEPENDS} >+ SHARED >+ MULTI_THREADED >+- DEBUG >+ ) >+ endmacro() >diff --git a/boost.spec b/boost.spec >index 3a75fc3..345543e 100644 >--- a/boost.spec >+++ b/boost.spec >@@ -28,12 +28,13 @@ > Name: boost > Summary: The free peer-reviewed portable C++ source libraries > Version: 1.41.0 >-Release: 19%{?dist} >+Release: 20%{?dist} > License: Boost > URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ > Group: System Environment/Libraries > %define full_version %{name}-%{version}.cmake0 >-Source: %{url}/%{full_version}.tar.gz >+Source0: %{url}/%{full_version}.tar.gz >+Source1: __init__.py > > # From the version 13 of Fedora, the Boost libraries are delivered > # with sonames equal to the Boost version (e.g., 1.41.0). On older >@@ -100,6 +101,9 @@ Patch7: boost-1.48.0-mathlib.patch > # https://bugzilla.redhat.com/show_bug.cgi?id=1021004 > Patch8: boost-1.41.0-serialization-leak.patch > >+# https://bugzilla.redhat.com/show_bug.cgi?id=801534 >+Patch9: boost-1.41.0-mpi-python.patch >+ > %bcond_with tests > %bcond_with docs_generated > >@@ -407,6 +411,7 @@ sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH0} | %{__patch} -p0 --fuzz=0 > %patch6 -p0 > %patch7 -p1 > %patch8 -p1 >+%patch9 -p1 > > %build > # Support for building tests. >@@ -502,12 +507,13 @@ echo ============================= install $MPI_COMPILER ================== > DESTDIR=$RPM_BUILD_ROOT make -C $MPI_COMPILER VERBOSE=1 install > # Remove parts of boost that we don't want installed in MPI directory. > %{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/libboost_{python,{w,}serialization}* >-# Suppress the mpi.so python module, as it not currently properly >-# generated (some dependencies are missing. It is temporary until >-# upstream Boost-CMake fixes that (see >-# http://lists.boost.org/boost-cmake/2009/12/0859.php for more >-# details) >-%{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/mpi.so >+ >+# Install Boost-MPI Python module. OpenMPI needs __init__.py that >+# adds RTLD_GLOBAL to dlopen flags. >+%{__install} -m 755 -d ${RPM_BUILD_ROOT}${MPI_PYTHON_SITEARCH}/boost >+%{__mv} $RPM_BUILD_ROOT/$MPI_LIB/mpi.so ${RPM_BUILD_ROOT}${MPI_PYTHON_SITEARCH}/boost/ >+%{__install} %{SOURCE1} ${RPM_BUILD_ROOT}${MPI_PYTHON_SITEARCH}/boost/ >+ > # Kill any debug library versions that may show up un-invited. > %{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/*-d.* > # Remove cmake configuration files used to build the Boost libraries >@@ -521,12 +527,12 @@ echo ============================= install $MPI_COMPILER ================== > DESTDIR=$RPM_BUILD_ROOT make -C $MPI_COMPILER VERBOSE=1 install > # Remove parts of boost that we don't want installed in MPI directory. > %{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/libboost_{python,{w,}serialization}* >-# Suppress the mpi.so python module, as it not currently properly >-# generated (some dependencies are missing. It is temporary until >-# upstream Boost-CMake fixes that (see >-# http://lists.boost.org/boost-cmake/2009/12/0859.php for more >-# details) >-%{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/mpi.so >+ >+# Install Boost-MPI Python module. MPICH doesn't need the __init__.py >+# magic. >+%{__install} -m 755 -d ${RPM_BUILD_ROOT}${MPI_PYTHON_SITEARCH}/boost >+%{__mv} $RPM_BUILD_ROOT/$MPI_LIB/mpi.so ${RPM_BUILD_ROOT}${MPI_PYTHON_SITEARCH}/boost/ >+ > # Kill any debug library versions that may show up un-invited. > %{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/*-d.* > # Remove cmake configuration files used to build the Boost libraries >@@ -754,6 +760,7 @@ sed -i '/^include/s,"\(.*\)\(/Boost.cmake\)","\1/boost\2",' \ > %defattr(-, root, root, -) > %doc LICENSE_1_0.txt > %{_libdir}/openmpi/lib/libboost_mpi_python*.so.%{sonamever} >+%{python_sitearch}/openmpi/boost > > %files graph-openmpi > %defattr(-, root, root, -) >@@ -781,6 +788,7 @@ sed -i '/^include/s,"\(.*\)\(/Boost.cmake\)","\1/boost\2",' \ > %defattr(-, root, root, -) > %doc LICENSE_1_0.txt > %{_libdir}/mpich2/lib/libboost_mpi_python*.so.%{sonamever} >+%{python_sitearch}/mpich2/boost > > %files graph-mpich2 > %defattr(-, root, root, -) >@@ -791,6 +799,10 @@ sed -i '/^include/s,"\(.*\)\(/Boost.cmake\)","\1/boost\2",' \ > %endif > > %changelog >+* Thu Mar 6 2014 Petr Machata <pmachata@redhat.com> - 1.41.0-20 >+- Fix building of Python module for Boost-MPI and ship it >+ (boost-1.41.0-mpi-python.patch, __init__.py) >+ > * Wed Dec 11 2013 Petr Machata <pmachata@redhat.com> - 1.41.0-19 > - Backport upstream patch for fixing of memory leaks in > Boost.Serialization (boost-1.41.0-serialization-leak.patch) >-- >1.7.6.5 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 801534
:
568974
| 871607