Re: PATCH: Compiling PostgreSQL using ActiveState Python 3.2

Поиск
Список
Период
Сортировка
От Ashesh Vashi
Тема Re: PATCH: Compiling PostgreSQL using ActiveState Python 3.2
Дата
Msg-id CAG7mmowuof++ZxaRuDmya1zgrY7NwH-AnQfTNHUuXH1diUeyKg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: PATCH: Compiling PostgreSQL using ActiveState Python 3.2  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: PATCH: Compiling PostgreSQL using ActiveState Python 3.2  (Ashesh Vashi <ashesh.vashi@enterprisedb.com>)
Список pgsql-hackers
On Thu, Aug 18, 2011 at 1:25 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Peter Eisentraut <peter_e@gmx.net> writes:
> On ons, 2011-08-17 at 13:20 -0400, Tom Lane wrote:
>> It's not immediately apparent to me why we should think that
>> get_python_lib is less trustworthy than LIBPL; but if someone
>> can make that case, I don't have any objection to this part of
>> the patch.

> The issue, at least for me, is that the file isn't necessarily called
> 'config' anymore.  I have
> /usr/lib/python3.2/config-3.2mu
One of the reason, I say that - we do have hard-coded values for the config directory.
Hence, I used the LIBPL. 

Ah, I see.

> LIBPL exists at least as far back as Python 2.2, so its use should be
> safe.

Yeah, that part of the patch seems sane then.

> Yes, because get_config_vars('LDVERSION') doesn't exist in that version.
> In theory, it would return '2.7', so everything would fit back together,
> but LDVERSION doesn't exist before 3.2.
Oops - sorry...
I did not know about it.. 

Could we have the code use 'LDVERSION' if it gets a nonempty result,
and otherwise fall back to the current scheme?  But I guess first we
need some details as to why the current scheme isn't sufficient.
Please find the attached patch as you suggested.

Reason:
- As per my findings, ActiveState Python 3.2 does not provide shared libraries along with it.
 (Though - I am not sure about the earlier version of ActiveState Python)
 We can confirm the same using the following command:
 ${PYTHON} -c "import distutils.sysconfig,string; print(distutils.sysconfig.get_config_vars('Py_ENABLE_SHARED'))"
Which returns in this case '0'.

And, getting values for the 'python_ldlibrary' and 'python_so'  are 'libpython3.2m.a' and '.cpython-32m.so' respectively.
So, the condition - x"${python_ldlibrary}" != x"${ldlibrary}" is always failing, and switching it back to link the old way.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: 
Enterprise PostgreSQL Company

 

http://www.linkedin.com/in/asheshvashi

 

                       regards, tom lane

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Magnus Hagander
Дата:
Сообщение: Re: Displaying accumulated autovacuum cost
Следующее
От: Marcin Mańk
Дата:
Сообщение: Re: FATAL: ReleaseSavepoint: unexpected state STARTED