Description
We've recently been experiencing build failures for mpi4py on Fedora 37 and Debian 12 when using GitHub Actions containers. I am actually not sure if this is an issue with limited resources on GitHub Actions (since the issue appears to be OOM-related), or a problem with mpi4py.
The run in question can be found at: https://github.com/neuronsimulator/nrn-build-ci/actions/runs/15250855499
Since the logs are ephemeral, I am attaching them here.
The traceback on Fedora is:
/usr/lib64/openmpi/bin/mpicc -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DHAVE_DLFCN_H=1 -DHAVE_DLOPEN=1 -Isrc -I/__w/nrn-build-ci/nrn-build-ci/nrn_venv/include -I/usr/include/python3.11 -c src/mpi4py/MPI.c -o build/temp.linux-x86_64-cpython-311/src/mpi4py/MPI.o
{standard input}: Assembler messages:
{standard input}:1197285: Warning: end of file not at end of a line; newline inserted
{standard input}:1198024: Error: unknown pseudo-op: `.lbe2'
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
gcc: fatal error: Killed signal terminated program cc1
compilation terminated.
error: command '/usr/lib64/openmpi/bin/mpicc' failed with exit code 1
[end of output]
while on Debian it is:
/usr/bin/mpicc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DHAVE_DLFCN_H=1 -DHAVE_DLOPEN=1 -Isrc -I/__w/nrn-build-ci/nrn-build-ci/nrn_venv/include -I/usr/include/python3.11 -c src/mpi4py/MPI.c -o build/temp.linux-x86_64-cpython-311/src/mpi4py/MPI.o
gcc: fatal error: Killed signal terminated program cc1
compilation terminated.
error: command '/usr/bin/mpicc' failed with exit code 1
[end of output]
The version of mpi4py affected is 4.0.3, though I have not tried using others. The workflow and the scripts used for running the workflow can be found here (I tried to cut down on the noise to provide an MWE).