Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Nov 2013 13:08:38 GMT
From:      Yuta Sato <nigoro.gentoo@0x100.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/184140: lang/python32 fails to build _posixsubprocess module on FreeBSD 10.0
Message-ID:  <201311211308.rALD8cdN048595@oldred.freebsd.org>
Resent-Message-ID: <201311211310.rALDA0DO072768@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311211308.rALD8cdN048595>