lang/python27 and threads option

Rainer Hurling rhurlin at gwdg.de
Mon Jun 27 19:40:11 UTC 2011


(Crossposting to python@, because I am not sure which is the right list 
in this case. Sorry, if this is not OK)

Yesterday math/saga got updated. Now there is a new option for python 
bindings to the SAGA GIS api. This worked well with version 2.7.1 of 
lang/python27 until yesterday.

I tried to build math/saga after upgrading to Python version 2.7.2 from 
today, but it stops in the configure. As far as I understand the 
math/saga configure script has a problem with the 'consistency check of 
all components of python development environment', see config.log (line 
1347).

-----------------------------------------
configure:16297: checking consistency of all components of python 
development environment
configure:16323: cc -o conftest -O2 -pipe -I/usr/local/include 
-fno-strict-aliasing  -I/usr/local/include/python2.7  -L/usr/local/lib 
conftest.c  -L/usr/local/lib/python2.7/config -lpython2.7 
-Wl,--export-dynamic  -lutil >&5
/usr/local/lib/libpython2.7.so: undefined reference to `pthread_create'
-----------------------------------------

This does not happen, if Python 2.7.2 was build _without_ option 
'THREADS'. Then SAGA GIS builds fine.


Listing the dynamic object dependencies of the Python library, there is 
a vital difference between Python 2.7.1 and 2.7.2.

Python 2.7.1, build _with_ option 'THREADS':
ldd /usr/local/lib/libpython2.7.so
/usr/local/lib/libpython2.7.so:
         libutil.so.9 => /lib/libutil.so.9 (0x413ac000)
         libm.so.5 => /lib/libm.so.5 (0x415bd000)
         libthr.so.3 => /lib/libthr.so.3 (0x417de000)
         libc.so.7 => /lib/libc.so.7 (0x4084a000)

Python 2.7.2, build _with_ option 'THREADS':
ldd /usr/local/lib/libpython2.7.so
/usr/local/lib/libpython2.7.so:
         libutil.so.9 => /lib/libutil.so.9 (0x413ac000)
         libm.so.5 => /lib/libm.so.5 (0x415bd000)
         libc.so.7 => /lib/libc.so.7 (0x4084a000)

It seems that Python does not include libthr.so.3 in version 2.7.2. Is 
this intentional? Is there any other way to use the threaded version of 
Python now?

Any help would be really appreciated.

Thanks in advance,
Rainer Hurling


More information about the freebsd-ports mailing list