Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Jun 2011 21:40:07 +0200
From:      Rainer Hurling <rhurlin@gwdg.de>
To:        ports@freebsd.org
Cc:        python@freebsd.org, "Rintoul, Beech" <beech@freebsd.org>
Subject:   lang/python27 and threads option
Message-ID:  <4E08DC97.4000406@gwdg.de>

next in thread | raw e-mail | index | archive | help
(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



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