| From: | Bryan Green <dbryan(dot)green(at)gmail(dot)com> |
|---|---|
| To: | Jakob Egger <jakob(at)eggerapps(dot)at>, Peter Eisentraut <peter(at)eisentraut(dot)org> |
| Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Use Python "Limited API" in PL/Python |
| Date: | 2026-01-02 17:40:11 |
| Message-ID: | 5b5f668a-06b6-4ade-aaeb-4a1e8ca65153@gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 1/15/2025 5:28 AM, Jakob Egger wrote:
> On 14.01.2025, at 16:51, Jakob Egger <jakob(at)eggerapps(dot)at> wrote:
>> I've tried to create a patch with this change. I'm attaching it to this message so that cfbot picks it up. (I was unable to reproduce the issue locally)
>
> Apologies, please disregard my last patch. It does not work.
>
> It looks like meson just can't build libraries that link with Python that use the limited API.
>
> My understanding of Meson is limited, so I am unsure how to best work around this limitation.
>
> I've spent two days trying to figure it out; I'm at the end of my wits.
>
> Best regards,
> Jakob
Hi Jakob and Peter,
I've been working on enabling the Python Limited API on MSVC, which was
disabled in the recent commit due to build failures.
The issue is that Meson doesn't automatically link against python3.lib
when using the Limited API. Meson's Python dependency always returns the
version-specific library (python3XX.lib) regardless of whether
limited api is defined. This appears to be a known Meson limitation:
https://github.com/mesonbuild/meson/issues/13824
Initially, I thought that maybe the library wasn't being installed, but
that is not the case and the patch to our CI Windows MSVC image is not
needed.
I have a patch that works around this by manually constructing the
Python dependency on MSVC to use python3.lib instead of python3XX.lib,
using cc.find_library('python3') and building the dependency with the
appropriate include directory. It passes CI when I push. I'll see what
cfbot thinks.
Still testing, but wanted to share progress and get feedback on the
approach.
--
Bryan Green
EDB: https://www.enterprisedb.com
| Attachment | Content-Type | Size |
|---|---|---|
| v1-0001-Enable-Python-Limited-API-for-PL-Python-on-MSVC.patch | text/plain | 2.5 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Marcos Magueta | 2026-01-02 18:07:24 | Re: WIP - xmlvalidate implementation from TODO list |
| Previous Message | Henson Choi | 2026-01-02 17:19:40 | Re: Row pattern recognition |