From: | Dave Page <dpage(at)pgadmin(dot)org> |
---|---|
To: | Peter Eisentraut <peter_e(at)gmx(dot)net> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: improving PL/Python builds on OS X |
Date: | 2013-05-09 07:25:27 |
Message-ID: | CA+OCxow8oT8CRZ88OgkpkvL+ph9_F7jqAhM+V-LOMexfWuYn-w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, May 9, 2013 at 8:09 AM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
> On Thu, May 9, 2013 at 2:26 AM, Peter Eisentraut <peter_e(at)gmx(dot)net> wrote:
>> On Wed, 2013-05-08 at 18:24 +0100, Dave Page wrote:
>>> It's failing on Linux. Even worse, it configures fine and then builds
>>> without error. There is a message spewed out by configure, but it
>>> doesn't contain the words warning or error. Given that I explicitly
>>> said I wanted Python support when I ran configure, it should certainly
>>> fail with an error at configure time. We only noticed this was a
>>> problem when the QA guys started diving in to more detailed tested, as
>>> we don't watch for every message in the 50+ MB of logs our automated
>>> build systems generate.
>>
>> It worked before because we used to allow linking shared libraries
>> against static libraries on some platforms. But that was more or less a
>> lie because it doesn't work on 64-bit platforms.
>>
>> ActiveState Python contains a static library with PIC files. There is
>> no obvious way to detect that, which is why we don't support it
>> directly. You can sort it out yourself by building with
>>
>> make shared_libpython=yes
>
> OK, thanks - I'll try that.
>
> I assume you'll fix the configure script so it actually errors out if
> plpython cannot be built, but is explicitly requested?
BTW - it's always worked fine for us on 64 bit machines with the past
few major releases of both PG and Python - are you saying that's pure
chance? For example:
postgres=# CREATE LANGUAGE plpython3u;
CREATE LANGUAGE
postgres=# CREATE FUNCTION pyversion() RETURNS text AS
postgres-# $$
postgres$# import sys
postgres$# return sys.version
postgres$# $$ LANGUAGE 'plpython3u';
CREATE FUNCTION
postgres=# SELECT pyversion();
pyversion
-----------------------------------------
3.2.2 (default, Sep 8 2011, 12:20:18) +
[GCC 4.0.2 20051125 (Red Hat 4.0.2-8)]
(1 row)
postgres=# SELECT version();
version
---------------------------------------------------------------------------------------------------------------
PostgreSQL 9.2.4 on x86_64-unknown-linux-gnu, compiled by gcc (GCC)
4.1.2 20080704 (Red Hat 4.1.2-52), 64-bit
(1 row)
postgres=#
(that's with fresh installations of ActivePython 3.2.2.3 and EDB's
PostgreSQL 9.2.4 package, on CentOS 6).
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Kyotaro HORIGUCHI | 2013-05-09 08:06:26 | Re: Fast promotion failure |
Previous Message | Fabien COELHO | 2013-05-09 07:19:39 | Re: Add regression tests for COLLATE |