ports/184140: lang/python32 fails to build _posixsubprocess module on FreeBSD 10.0
Yuta Sato
nigoro.gentoo at 0x100.com
Thu Nov 21 13:10:00 UTC 2013
>Number: 184140
>Category: ports
>Synopsis: lang/python32 fails to build _posixsubprocess module on FreeBSD 10.0
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Nov 21 13:10:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: Yuta Sato
>Release: 10.0-BETA3
>Organization:
>Environment:
FreeBSD fbsd10 10.0-BETA3 FreeBSD 10.0-BETA3 #0 r257580: Sun Nov 3 19:43:01 UTC 2013 root at snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
HAVE_PIPE2 is defined on FreeBSD 10.0.
Parts of the problem requires O_CLOEXEC.
Problem code)
Python-3.2.5/Modules/_posixsubprocess.c
#ifdef HAVE_PIPE2
Py_BEGIN_ALLOW_THREADS
res = pipe2(fds, O_CLOEXEC);
Py_END_ALLOW_THREADS
if (res != 0 && errno == ENOSYS)
{
{
#endif
_XOPEN_SOURCE is set to 600 by configure.
When _XOPEN_SOURCE is 600, _POSIX_C_SOURCE 200112 and __POSIX_VISIBLE 200112 are defined by sys/cdefs.h.
However, to get O_CLOEXEC, __POSIX_VISIBLE >= 200809 is required to define on FreeBSD.
Please see https://bugs.gentoo.org/show_bug.cgi?id=490034 for more information on this issue.
error log.
building '_posixsubprocess' extension
cc -fPIC -DNDEBUG -O2 -pipe -fno-strict-aliasing -I../Include -I/usr/local/include -I/usr/ports/lang/python32/work/Python-3.2.5/portbld.static -c /usr/ports/lang/python32/work/Python-3.2.5/Modules/_posixsubprocess.c -o build/temp.freebsd-10.0-BETA3-amd64-3.2/usr/ports/lang/python32/work/Python-3.2.5/Modules/_posixsubprocess.o
/usr/ports/lang/python32/work/Python-3.2.5/Modules/_posixsubprocess.c:738:22: error: use of undeclared identifier 'O_CLOEXEC'
res = pipe2(fds, O_CLOEXEC);
^
1 error generated.
<snip>
Python build finished, but the necessary bits to build these modules were not found:
_gdbm _sqlite3 _tkinter
spwd
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
Failed to build these modules:
_posixsubprocess
>How-To-Repeat:
make in lang/python32.
>Fix:
add ac_cv_func_pipe2=no to CONFIGURE_ENV=.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list