New submission from Arfrever Frehtes Taifersar Arahesis:
When POSIX semaphores are disabled (e.g. by unmounting /dev/shm on a Linux
system), then _multiprocessing module builds with undefined symbol
_PyMp_sem_unlink:
$ ./configure ...
...
checking whether POSIX semaphores are enabled... no
...
$ make
...
building '_multiprocessing' extension
creating build/temp.linux-x86_64-3.5/tmp/cpython/Modules/_multiprocessing
x86_64-pc-linux-gnu-gcc -pthread -fPIC -Wno-unused-result
-Werror=declaration-after-statement -DNDEBUG -march=core2 -O2 -fno-ident -pipe
-ggdb3 -Wall -Wpointer-sign -IModules/_multiprocessing -I./Include -I.
-IInclude -I/usr/local/include -I/tmp/cpython/Include -I/tmp/cpython -c
/tmp/cpython/Modules/_multiprocessing/multiprocessing.c -o
build/temp.linux-x86_64-3.5/tmp/cpython/Modules/_multiprocessing/multiprocessing.o
x86_64-pc-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,--as-needed
-Wl,--gc-sections -Wl,--hash-style=gnu -Wl,--sort-common
build/temp.linux-x86_64-3.5/tmp/cpython/Modules/_multiprocessing/multiprocessing.o
-L. -L/usr/local/lib -lpython3.5m -o
build/lib.linux-x86_64-3.5/_multiprocessing.cpython-35m.so
*** WARNING: renaming "_multiprocessing" since importing it failed:
build/lib.linux-x86_64-3.5/_multiprocessing.cpython-35m.so: undefined symbol:
_PyMp_sem_unlink
...
Following modules built successfully but were removed because they could not be
imported:
_multiprocessing
This problem was introduced in Python 3.4. This problem is absent in older
versions of Python.
Potential fix:
--- Modules/_multiprocessing/multiprocessing.c
+++ Modules/_multiprocessing/multiprocessing.c
@@ -129,5 +129,7 @@
{"send", multiprocessing_send, METH_VARARGS, ""},
#endif
+#ifndef POSIX_SEMAPHORES_NOT_ENABLED
{"sem_unlink", _PyMp_sem_unlink, METH_VARARGS, ""},
+#endif
{NULL}
};
----------
assignee: sbt
components: Extension Modules
keywords: easy
messages: 220162
nosy: Arfrever, jnoller, sbt
priority: normal
severity: normal
stage: patch review
status: open
title: _multiprocessing module builds incorrectly when POSIX semaphores are
disabled
type: compile error
versions: Python 3.4, Python 3.5
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue21704>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com