Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vgQ6z-00CCs1-2n for pgsql-committers@arkaria.postgresql.org; Thu, 15 Jan 2026 16:22:18 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vgQ6y-000Uio-2k for pgsql-committers@arkaria.postgresql.org; Thu, 15 Jan 2026 16:22:17 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vgQ6y-000Uig-1r for pgsql-committers@lists.postgresql.org; Thu, 15 Jan 2026 16:22:16 +0000 Received: from mail-yw1-x1129.google.com ([2607:f8b0:4864:20::1129]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vgQ6w-000eGS-1t for pgsql-committers@lists.postgresql.org; Thu, 15 Jan 2026 16:22:16 +0000 Received: by mail-yw1-x1129.google.com with SMTP id 00721157ae682-790ac42fd00so10185707b3.3 for ; Thu, 15 Jan 2026 08:22:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768494132; x=1769098932; darn=lists.postgresql.org; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=S0J+osN8G3zrbQwKsGTlBUR0PAZFKiXt76Sf6vGYATQ=; b=TrmuE2DjoY10fXpqsm1Nxy8zniBmEQGXHI0GnTXwzMQuHhZQSFWiyEtRVlyMLtT5Ll tkx6Bktra/2mSKCc9gK09GYTsDfOzmS+BS5qgWxvRzFzZM3UFDAFuAPBWdODZhJ8h9ZR znO3GWVmyLD+V+EYN0U1VCL3B7IO6NmrJ+/P+ypCaSq2YOsJHUacJN5QcAxdTT9k2hlc Ih9H0kj5JPuhuBxD6cmO4zOY16Ag5Z6QaCdROdX4LWbHaK4zK3z7zpoYsArq5rdn7VHD 85BCfj3vUAjsSO/RZg54BT44o2AjRP/DlO+ynGVmrQXeKtISjVAg1Gb3QyolKHZsdZU2 1RYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768494132; x=1769098932; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=S0J+osN8G3zrbQwKsGTlBUR0PAZFKiXt76Sf6vGYATQ=; b=PNpurAjteqWdYyKzdNrGF5rY18UFTIfkDgI0k8UdoqhmtkzMi29pgAEMvwBanBqlSi llaU6P/Sc478Gk1VwByG6CAB7GHA2oB5dVN9lcGjp7DW4i/cQDTVKrHDU5LMCdPobIGY f8D/P7coQkn/kHJQYL7vEy+HoZK152v+Jdfod8Ayys5QBcnu9MvBUhonytuiD7HSDZsu thPC9CGzWjc6+8hDlOgtOcBq08fo8fbXybsPdbD43hc/TX6XK8kY+E5DHNuXM2r1O4Bk EVz5L4tqmDyKKIjGO+FAIoeixLwjsrhVf2fWWm0rNnZNDvhBD8J6KnK5a26p2NgS1eK6 Gc+w== X-Forwarded-Encrypted: i=1; AJvYcCWQ97uS1CkraUtNe9CxEuL8yKWXxRts/ixR+urcrjc9Jq+FQ6VY6Dy55Oezdck0HUxMIvKQpFlFOcmhp7kfTzbH@lists.postgresql.org X-Gm-Message-State: AOJu0Yxb8IiOk2UjZfOmXTDna5BfovZRbQF92+AlaNtV/3LakmKEHNBp dDgD6NDDzonMakApA3ddcQKsNmOtFuv1hamd0Wi9b4aL+nVZS7saRf8Q X-Gm-Gg: AY/fxX5taVoxqflUvdDsjadBKfLbnAgE2bY2x4CojNkdA8WnJipxSI9MiCFhhR/y8cr pr4omIBUxGyRgDgrzVkwDFIxJ4cyxj/GZ6j19oKgDLz/Tm5YRF+P603j5S7vmNVPSrqzlVZ33X4 mSUEY2NAEkkJu/nkwJfc4LQBj642B97Zr7SuKe1QPIQEH12gxajCX8VaKhDJBS7qPRsO9lVF8Gd dG3YGZJzSOgsDokmKZ1WoexsDcj/m4neTj/qBUDw9LWwTHA3N3v1JnXXViesb2eFR9TNBgXrpN2 a31eduhTRsSjn67Supx444HoyhnnhYjXkio/RosCgI4Dky2497vl6yl0n/5+JsmPz4crTIFJg1V 0b8DufjR5gu6BbBfNfixPQ9tTW0bgayyLxGf70pnzk56DgL7Jv8BfkmX6rLHdtjd1qjKU6s007G 74gj5Gc8hB04e1VIb2dvAeDbjqZFVRaRx0AnmBeByvADwtR5+aYSDLsjKwo9v8bUOR X-Received: by 2002:a05:690c:7288:b0:78f:b163:782 with SMTP id 00721157ae682-793c53eadd1mr2742197b3.58.1768494132136; Thu, 15 Jan 2026 08:22:12 -0800 (PST) Received: from ?IPV6:2600:1700:8952:80:8845:a1bc:f097:2732? ([2600:1700:8952:80:8845:a1bc:f097:2732]) by smtp.gmail.com with ESMTPSA id 00721157ae682-7916d24ae23sm78363527b3.0.2026.01.15.08.22.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 15 Jan 2026 08:22:11 -0800 (PST) Content-Type: multipart/mixed; boundary="------------UPz2vDEgv58qvA0lZ7Dwbfdr" Message-ID: <0de98c41-4145-44c1-aac5-087cf5b3e4a9@gmail.com> Date: Thu, 15 Jan 2026 10:21:50 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: pgsql: Enable Python Limited API for PL/Python on MSVC To: Peter Eisentraut , pgsql-committers@lists.postgresql.org, Andrew Dunstan References: <397fa815-c0cc-4531-9d09-0be3cc72c59a@eisentraut.org> Content-Language: en-US From: Bryan Green In-Reply-To: <397fa815-c0cc-4531-9d09-0be3cc72c59a@eisentraut.org> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------UPz2vDEgv58qvA0lZ7Dwbfdr Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 1/15/2026 3:36 AM, Peter Eisentraut wrote: > This is failing on buildfarm member drongo: buildfarm.postgresql.org/cgi-bin/show_history.pl?nm=drongo&br=master>. >  AFAICT, this is the only buildfarm member that tests Python on Windows, > so we have no additional results to compare with.  It did pass on Cirrus > CI.  Andrew/Bryan, could you figure out how the Python installation on > drongo is different? > Peter, Andrew, The failure on drongo is due to my writing this patch to support meson versions >= 1.1.0. I setup my local environment to match CI and was using meson 1.10.0. Before 1.1.0 you needed to pass the include directory to check_headers with arg:. I have made the changes and tested python 3.11 w/meson 0.57.2 and 1.0.1. I have also retested with python 3.14 and meson 1.10.0. Everything passed. Additional items to note: 1. meson 1.0.1 expects distutils which was retired in python 3.12. If you want to use a later python with that version of meson (or earlier) you will need to install setuptools which has a distutils shim I am led to believe. 2. when building with meson 0.57.2 I had to provide -Dreadline=disabled for the build to succeed. The v2 patch is attached. -- Bryan Green EDB: https://www.enterprisedb.com --------------UPz2vDEgv58qvA0lZ7Dwbfdr Content-Type: text/plain; charset=UTF-8; name="v2-0001-Enable-Python-Limited-API-for-PL-Python-on-MSVC.patch" Content-Disposition: attachment; filename*0="v2-0001-Enable-Python-Limited-API-for-PL-Python-on-MSVC.patc"; filename*1="h" Content-Transfer-Encoding: base64 RnJvbSBhM2QzOWU4NmM2NDBlZjQ0MWFjOTE5YWVmYWVjNmE2NzBiZWFjYjBiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCcnlhbiBHcmVlbiA8ZGJyeWFuLmdyZWVuQGdtYWls LmNvbT4KRGF0ZTogRnJpLCAyIEphbiAyMDI2IDEwOjQ4OjU0IC0wNjAwClN1YmplY3Q6IFtQ QVRDSCB2Ml0gRW5hYmxlIFB5dGhvbiBMaW1pdGVkIEFQSSBmb3IgUEwvUHl0aG9uIG9uIE1T VkMKClByZXZpb3VzbHksIHRoZSBQeXRob24gTGltaXRlZCBBUEkgd2FzIGRpc2FibGVkIG9u IE1TVkMgZHVlIHRvIGJ1aWxkCmZhaWx1cmVzIGNhdXNlZCBieSBNZXNvbiBub3Qga25vd2lu ZyB0byBsaW5rIGFnYWluc3QgcHl0aG9uMy5saWIKaW5zdGVhZCBvZiBweXRob24zWFgubGli IHdoZW4gdXNpbmcgdGhlIExpbWl0ZWQgQVBJLgoKVGhpcyBjb21taXQgd29ya3MgYXJvdW5k IHRoZSBNZXNvbiBsaW1pdGF0aW9uIGJ5IGV4cGxpY2l0bHkgZmluZGluZwphbmQgbGlua2lu ZyBhZ2FpbnN0IHB5dGhvbjMubGliIG9uIE1TVkMsIGFuZCByZW1vdmVzIHRoZSBwcmVwcm9j ZXNzb3IKZ3VhcmQgdGhhdCB3YXMgZGlzYWJsaW5nIHRoZSBMaW1pdGVkIEFQSSBvbiBNU1ZD IGluIHBscHl0aG9uLmguCgpUaGlzIHJlcXVpcmVzIHB5dGhvbjMubGliIHRvIGJlIHByZXNl bnQgaW4gdGhlIFB5dGhvbiBpbnN0YWxsYXRpb24sCndoaWNoIGlzIGluY2x1ZGVkIHdoZW4g UHl0aG9uIGlzIGluc3RhbGxlZC4KCkRpc2N1c3Npb246IGh0dHBzOi8vd3d3LnBvc3RncmVz cWwub3JnL21lc3NhZ2UtaWQvZmxhdC9lZTQxMGRlMS0xZTBiLTQ3NzAtYjEyNS1lZWVmZDQ3 MjZhMjQlNDBlaXNlbnRyYXV0Lm9yZwotLS0KIG1lc29uLmJ1aWxkICAgICAgICAgICAgICAg IHwgMjEgKysrKysrKysrKysrKysrKysrKy0tCiBzcmMvcGwvcGxweXRob24vcGxweXRob24u aCB8ICA0IC0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgNiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCmluZGV4 IGQ3YzUxOTNkNGMuLjRiNDU3MzJkNTMgMTAwNjQ0Ci0tLSBhL21lc29uLmJ1aWxkCisrKyBi L21lc29uLmJ1aWxkCkBAIC0xMzI5LDkgKzEzMjksMjYgQEAgaWYgbm90IHB5b3B0LmRpc2Fi bGVkKCkKICAgcG0gPSBpbXBvcnQoJ3B5dGhvbicpCiAgIHB5dGhvbjNfaW5zdCA9IHBtLmZp bmRfaW5zdGFsbGF0aW9uKHB5dGhvbi5mdWxsX3BhdGgoKSwgcmVxdWlyZWQ6IHB5b3B0KQog ICBpZiBweXRob24zX2luc3QuZm91bmQoKQotICAgIHB5dGhvbjNfZGVwID0gcHl0aG9uM19p bnN0LmRlcGVuZGVuY3koZW1iZWQ6IHRydWUsIHJlcXVpcmVkOiBweW9wdCkKKyAgICAjIEZv ciBMaW1pdGVkIEFQSSBvbiBNU1ZDLCBsaW5rIGFnYWluc3QgcHl0aG9uMy5saWIgaW5zdGVh ZCBvZiBweXRob24zWFgubGliLgorICAgICMgTWVzb24gZG9lc24ndCBoYW5kbGUgdGhpcyBh dXRvbWF0aWNhbGx5OgorICAgICMgPGh0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21l c29uL2lzc3Vlcy8xMzgyND4KKyAgICBpZiBob3N0X3N5c3RlbSA9PSAnd2luZG93cycgYW5k IGNjLmdldF9pZCgpID09ICdtc3ZjJworICAgICAgcHl0aG9uM19wcmVmaXggPSBweXRob24z X2luc3QuZ2V0X3ZhcmlhYmxlKCdwcmVmaXgnKQorICAgICAgcHl0aG9uM19saWJkaXIgPSBw eXRob24zX3ByZWZpeCAvICdsaWJzJworICAgICAgcHl0aG9uM19pbmNkaXIgPSBweXRob24z X3ByZWZpeCAvICdpbmNsdWRlJworICAgICAgcHl0aG9uM19saWIgPSBjYy5maW5kX2xpYnJh cnkoJ3B5dGhvbjMnLCBkaXJzOiBweXRob24zX2xpYmRpciwgcmVxdWlyZWQ6IHB5b3B0KQor ICAgICAgcHl0aG9uM19kZXAgPSBkZWNsYXJlX2RlcGVuZGVuY3koCisgICAgICAgIGluY2x1 ZGVfZGlyZWN0b3JpZXM6IGluY2x1ZGVfZGlyZWN0b3JpZXMocHl0aG9uM19pbmNkaXIpLAor ICAgICAgICBkZXBlbmRlbmNpZXM6IHB5dGhvbjNfbGliLAorICAgICAgKQorICAgICAgIyBF eHBsaWNpdCBhcmdzIG5lZWRlZCBmb3Igb2xkZXIgTWVzb24gY29tcGF0aWJpbGl0eQorICAg ICAgcHl0aG9uM19oZWFkZXJfY2hlY2tfYXJncyA9IFsnL0knICsgcHl0aG9uM19pbmNkaXJd CisgICAgZWxzZQorICAgICAgcHl0aG9uM19kZXAgPSBweXRob24zX2luc3QuZGVwZW5kZW5j eShlbWJlZDogdHJ1ZSwgcmVxdWlyZWQ6IHB5b3B0KQorICAgICAgcHl0aG9uM19oZWFkZXJf Y2hlY2tfYXJncyA9IFtdCisgICAgZW5kaWYKICAgICAjIFJlbW92ZSB0aGlzIGNoZWNrIGFm dGVyIHdlIGRlcGVuZCBvbiBNZXNvbiA+PSAxLjEuMAotICAgIGlmIG5vdCBjYy5jaGVja19o ZWFkZXIoJ1B5dGhvbi5oJywgZGVwZW5kZW5jaWVzOiBweXRob24zX2RlcCwgcmVxdWlyZWQ6 IHB5b3B0LCBpbmNsdWRlX2RpcmVjdG9yaWVzOiBwb3N0Z3Jlc19pbmMpCisgICAgaWYgbm90 IGNjLmNoZWNrX2hlYWRlcignUHl0aG9uLmgnLCBhcmdzOiBweXRob24zX2hlYWRlcl9jaGVj a19hcmdzLCBkZXBlbmRlbmNpZXM6IHB5dGhvbjNfZGVwLCByZXF1aXJlZDogcHlvcHQsIGlu Y2x1ZGVfZGlyZWN0b3JpZXM6IHBvc3RncmVzX2luYykKICAgICAgIHB5dGhvbjNfZGVwID0g bm90X2ZvdW5kX2RlcAogICAgIGVuZGlmCiAgIGVuZGlmCmRpZmYgLS1naXQgYS9zcmMvcGwv cGxweXRob24vcGxweXRob24uaCBiL3NyYy9wbC9wbHB5dGhvbi9wbHB5dGhvbi5oCmluZGV4 IDExOGIzMTAwODQuLjQ0NWY3YmMzMWEgMTAwNjQ0Ci0tLSBhL3NyYy9wbC9wbHB5dGhvbi9w bHB5dGhvbi5oCisrKyBiL3NyYy9wbC9wbHB5dGhvbi9wbHB5dGhvbi5oCkBAIC0yNSwxMiAr MjUsOCBAQAogCiAvKgogICogRW5hYmxlIFB5dGhvbiBMaW1pdGVkIEFQSQotICoKLSAqIFhY WCBjdXJyZW50bHkgbm90IGVuYWJsZWQgb24gTVNWQyBiZWNhdXNlIG9mIGJ1aWxkIGZhaWx1 cmVzCiAgKi8KLSNpZiAhZGVmaW5lZChfTVNDX1ZFUikKICNkZWZpbmUgUHlfTElNSVRFRF9B UEkgMHgwMzAyMDAwMAotI2VuZGlmCiAKIC8qCiAgKiBQdWxsIGluIFB5dGhvbiBoZWFkZXJz IHZpYSBhIHdyYXBwZXIgaGVhZGVyLCB0byBjb250cm9sIHRoZSBzY29wZSBvZgotLSAKMi41 Mi4wLndpbmRvd3MuMQoK --------------UPz2vDEgv58qvA0lZ7Dwbfdr--