Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Jan 2008 02:02:17 +0100
From:      "Danny Pansters" <danny@ricin.com>
To:        freebsd-questions@freebsd.org
Cc:        Gunther Mayer <gunther.mayer@googlemail.com>
Subject:   Re: Python threading - some ports depend on it, others break with it
Message-ID:  <200801100202.17511.danny@ricin.com>
In-Reply-To: <47851504.8090006@gmail.com>
References:  <47851504.8090006@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 09 January 2008 19:40:04 Gunther Mayer wrote:
> Hi guys,
>
> I'm having so much trouble with this. I'm hosting a trac based project
> which is implemented in python and uses an sqlite db backend along with
> its python bindings. Now it turns out that pysqlite breaks badly
> (compiles and installs fine but chokes on import, see
> http://lists.initd.org/pipermail/pysqlite/2006-May/000553.html) if
> python itself is compiled *without threading* support.
>
> However, on the same box I run a postgresql development and testing
> database and we have some triggers and other functions implemented in
> pl/python. Guess what? The compile of postgresql-plpython chokes upon
> configure if python is built *with threading* support. Running it seems
> to work fine, but there's a reason upstream put this check into
> configure because supposedly this is known to break things.
>
> Chicken and egg - one of my ports insists on python with threads
> enabled, the other port insists I use python without thread support. My
> workaround is to compile python without threading, install(or upgrade)
> postgresql-plpython, then recompile python with threading, install(or
> upgrade) trac and pray that plpython won't eat my dog when I use it. A
> really painful and error prone exercise, especially when an upgrade
> comes along (security or otherwise).
>
> I need both of these ports on one box and I'm not sure what to do to
> sort out this mess properly. Any ideas? What's up with Python's
> threading support on FreeBSD in any case, why is is broken?
>
> To get you an idea of what versions I'm running, the affected postgresql
> ports are
>
> postgresql-plpython-8.2.6
> postgresql-server-8.2.6
>
> for the trac dependencies the involved culprits are:
>
> py25-pysqlite-2.0.7_1
> python25-2.5.1_1
> python-2.5,2
> sqlite-3.3.8 # peripheral
>
> I remember with python 2.4 I had the same endless issues over a year ago
> so it's not 2.5's fault. Oh, and btw, I'm running 6.2-RELEASE-p9 i386.
>
> Gunther
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe@freebsd.org"

It's my understanding that threading *in* python works well, but threading 
*with* python doesn't and you shouldn't use/rely on it. I'm afraid I can't 
tell you much more without an hour of googling and I wouldn't be sure if I 
can adequately explain after. I think it has to do with the GIL.

I suggest to ask at freebsd-python@freebsd.org.

Dan



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