Bug #990

lang/python21 problem

Added by justin over 6 years ago. Updated over 5 years ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

I've been having the bulk build of pkgsrc packages freeze up on the
lang/python21 build; it just sits forever on the config step:

checking if PTHREAD_SCOPE_SYSTEM is supported...

I've filed a PR for pkgsrc with this. However, the python21 package
hasn't changed since 2006, and this package built fine on 1.10, which
makes me wonder if it's something that crept into the most recent release.

Full text of build below, for the curious:
pkgbox# bmake
=> Bootstrap dependency digest>=20010302: found digest-20070803
=> Bootstrap dependency checkperms>=1.1: found checkperms-1.10
=> Checksum SHA1 OK for Python-2.1.3.tgz
=> Checksum RMD160 OK for Python-2.1.3.tgz
===> Installing dependencies for python21-2.1.3nb15
==========================================================================
The following variables will affect the build process of this package,
python21-2.1.3nb15. Their current value is shown below:

* BDB185_DEFAULT = db1
* BDB_DEFAULT = db4

Based on these variables, the following variables have been set:

* BDBBASE = /usr
* BDB_LIBS (defined, but empty)
* BDB_TYPE = db1

You may want to abort the process now with CTRL-C and change their value
before continuing. Be sure to run `/usr/pkg/bin/bmake clean' after
the changes.
==========================================================================
===> Overriding tools for python21-2.1.3nb15
===> Extracting for python21-2.1.3nb15
/bin/mv /scratch/lang/python21/work/Python-2.1.3/Tools/scripts/pydoc
/scratch/lang/python21/work/Python-2.1.3/Tools/scripts/pydoc2.1
===> Patching for python21-2.1.3nb15
=> Applying pkgsrc patches for python21-2.1.3nb15
===> Creating toolchain wrappers for python21-2.1.3nb15
===> Configuring for python21-2.1.3nb15
=> Modifying GNU configure scripts to avoid --recheck
=> Replacing config-guess with pkgsrc versions
=> Replacing config-sub with pkgsrc versions
=> Replacing install-sh with pkgsrc version
=> Replacing python interpreter in Lib/cgi.py Lib/test/test_largefile.py.
=> Checking for portability problems in extracted files
creating cache ./config.cache
checking MACHDEP... dragonfly1
checking for --without-gcc... no
checking for --with-cxx=<compiler>... no
checking for c++... c++
checking whether the C++ compiler (c++ -O2 -I/usr/include -L/usr/lib
-Wl,-R/usr/lib -Wl,-R/usr/pkg/lib) works... yes
checking whether the C++ compiler (c++ -O2 -I/usr/include -L/usr/lib
-Wl,-R/usr/lib -Wl,-R/usr/pkg/lib) is a cross-compiler... no
checking for gcc... cc
checking whether the C compiler (cc -O2 -I/usr/include -L/usr/lib
-Wl,-R/usr/lib -Wl,-R/usr/pkg/lib) works... yes
checking whether the C compiler (cc -O2 -I/usr/include -L/usr/lib
-Wl,-R/usr/lib -Wl,-R/usr/pkg/lib) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether cc accepts -g... yes
checking for Cygwin environment... no
checking for mingw32 environment... no
checking for executable suffix... no
checking for --with-suffix...
checking LIBRARY... libpython$(VERSION).a
checking LINKCC... $(PURIFY) $(CC)
checking LDLIBRARY... libpython$(VERSION).a
checking for ranlib... ranlib
checking for ar... ar
checking for a BSD compatible install... /usr/bin/install -c -o root -g wheel
checking how to run the C preprocessor... cc -E
checking for AIX... no
checking for minix/config.h... no
checking whether cc accepts -OPT:Olimit=0... no
checking whether cc accepts -Olimit 1500... no
checking for ANSI C header files... yes
checking for dlfcn.h... yes
checking for fcntl.h... yes
checking for limits.h... yes
checking for locale.h... yes
checking for ncurses.h... yes
checking for poll.h... yes
checking for pthread.h... yes
checking for signal.h... yes
checking for stdarg.h... yes
checking for stddef.h... yes
checking for stdlib.h... yes
checking for thread.h... no
checking for unistd.h... yes
checking for utime.h... yes
checking for termios.h... yes
checking for sys/audioio.h... no
checking for sys/file.h... yes
checking for sys/lock.h... yes
checking for sys/modem.h... no
checking for db_185.h... yes
checking for db.h... yes
checking for sys/param.h... yes
checking for sys/poll.h... yes
checking for sys/select.h... yes
checking for sys/socket.h... yes
checking for sys/time.h... yes
checking for sys/times.h... yes
checking for sys/un.h... yes
checking for sys/utsname.h... yes
checking for sys/wait.h... yes
checking for pty.h... no
checking for libutil.h... yes
checking for ndbm.h... yes
checking for db1/ndbm.h... no
checking for gdbm/ndbm.h... no
checking for sys/resource.h... yes
checking for dirent.h that defines DIR... yes
checking for opendir in -ldir... no
checking for clock_t in time.h... yes
checking for mode_t... yes
checking for off_t... yes
checking for pid_t... yes
checking return type of signal handlers... void
checking for size_t... yes
checking for uid_t in sys/types.h... yes
checking size of int... 4
checking size of long... 4
checking size of void *... 4
checking size of char... 1
checking size of short... 2
checking size of float... 4
checking size of double... 8
checking size of fpos_t... 8
checking for long long support... yes
checking size of long long... 8
checking for uintptr_t support... no
checking size of off_t... 8
checking whether to enable large file support... yes
checking size of time_t... 4
checking for pthread_t... yes
checking size of pthread_t... 4
checking for --with-next-framework... no
checking for --with-dyld... no
checking SO... .so
checking LDSHARED... cc -shared -L/usr/lib -Wl,-R/usr/lib -Wl,-R/usr/pkg/lib
checking CCSHARED... -fPIC
checking LINKFORSHARED... -Wl,--export-dynamic
checking CFLAGSFORSHARED...
checking for dlopen in -ldl... no
checking for shl_load in -ldld... no
checking for --with-pydebug... no
checking for t_open in -lnsl... no
checking for socket in -lsocket... no
checking for --with-libs... no
checking for --with-signal-module... yes
checking for --with-dec-threads... no
checking for --with-threads... yes
checking for mach/cthreads.h... no
checking for --with-pth... no
checking for pthread_create in -pthread -lpthread... yes
checking if PTHREAD_SCOPE_SYSTEM is supported... ^

History

#1 Updated by hasso about 6 years ago

The problem is not the PTHREAD_SCOPE_SYSTEM or even attr, but the first
argument of the pthread_create() call. This trivial example runs fine:

#include <pthread.h>

void *foo(void *parm) { return NULL; }

int main() {
pthread_t thread;

pthread_create(&thread, NULL, foo, NULL);
return 0;
}

But this one doesn't:

#include <pthread.h>

void *foo(void *parm) { return NULL; }

int main() {
pthread_create(NULL, NULL, foo, NULL);
return 0;
}

#2 Updated by corecode about 6 years ago

Python's fault. This example crashes on linux as well, so even the
biggest precedent doesn't allow passing NULL.

cheers
simon

#3 Updated by hasso about 6 years ago

Well, I think that we should hang regardless what's right from side of Python
and what isn't.

#4 Updated by corecode over 5 years ago

i believe i fixed this

Also available in: Atom PDF