| Summary: | dev-python/mpi4py-3.0.0 with sys-cluster/openmpi-4.0.1 - src/mpi4py.MPI.c:15086:36: error: ‘MPI_UB’ undeclared (first use in this function); did you mean ‘MPI_IO’? | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Juergen Rose <rose> |
| Component: | Current packages | Assignee: | Python Gentoo Team <python> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
build.log
Patch to handle openmpi-4.0.1 patch to create mpi4py-3.0.1 using the openmpi-4 patch |
||
|
Description
Juergen Rose
2019-05-13 05:53:12 UTC
The described error has happened with openmpi installed with openmpi-4.0.1.ebuild from the science overlay. If openmpi-4.0.1 is installed from the default portage tree, 'MAKEOPTS=-j1 emerge -v1 mpi4py' fails with:
...
src/mpi4py.MPI.c: In function ‘__pyx_f_6mpi4py_3MPI_del_Datatype’:
src/mpi4py.MPI.c:15086:36: error: expected expression before ‘_Static_assert’
15086 | __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_UB) != 0);
| ^~~~~~
src/mpi4py.MPI.c:15099:36: error: expected expression before ‘_Static_assert’
15099 | __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LB) != 0);
| ^~~~~~
src/mpi4py.MPI.c: In function ‘__pyx_pf_6mpi4py_3MPI_8Datatype_44Free’:
src/mpi4py.MPI.c:69477:17: error: expected expression before ‘_Static_assert’
69477 | __pyx_v_p = MPI_UB;
| ^~~~~~
src/mpi4py.MPI.c:69491:17: error: expected expression before ‘_Static_assert’
69491 | __pyx_v_p = MPI_LB;
...
mpi4py-3.0.1 fails with the same error. Using the patch from https://bitbucket.org/mpi4py/mpi4py/commits/42f5e35a6a90454516c11131549a08cd766edbb0 , I was able to emerge mpi4py-3.0.1. With the resulting mpi4py I could then also emerge several packages which has the mpi USE flag: h5py vigra flann hdf5 netcdf ... Created attachment 579482 [details, diff]
Patch to handle openmpi-4.0.1
Created attachment 579484 [details, diff]
patch to create mpi4py-3.0.1 using the openmpi-4 patch
There is a new mpi4py-3.0.2 which includes all patches for openmpi-4. To get an ebuild, it is only necessary to rename the unpatched mpi4py-3.0.0.ebuild. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f74fabfe65799ba164b81853bcbe90a2fc0da8c0 commit f74fabfe65799ba164b81853bcbe90a2fc0da8c0 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2019-07-22 21:30:01 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2019-07-22 22:04:26 +0000 dev-python/mpi4py: 3.0.2 version bump Thanks-to: Juergen Rose <rose@rz.uni-potsdam.de> Closes: https://bugs.gentoo.org/685780 Package-Manager: Portage-2.3.69, Repoman-2.3.16 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> dev-python/mpi4py/Manifest | 1 + dev-python/mpi4py/mpi4py-3.0.2.ebuild | 51 +++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) |