From nobody Fri Aug 07 17:55:00 2026 X-Original-To: python@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hGsJQ01k6z6nVLP for ; Fri, 07 Aug 2026 17:55:50 +0000 (UTC) (envelope-from a.l.sveikauskas@gmail.com) Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com [IPv6:2a00:1450:4864:20::632]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hGsJP216fz4GTL for ; Fri, 07 Aug 2026 17:55:49 +0000 (UTC) (envelope-from a.l.sveikauskas@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=oLzpXMsX; arc=pass ("google.com:s=arc-20260327:i=1"); spf=pass (mx1.freebsd.org: domain of a.l.sveikauskas@gmail.com designates 2a00:1450:4864:20::632 as permitted sender) smtp.mailfrom=a.l.sveikauskas@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-c1c26d7e951so597353266b.0 for ; Fri, 07 Aug 2026 10:55:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1786125343; cv=none; d=google.com; s=arc-20260327; b=CO/8RiHQ4tgpEvbLVMeS7WAG27XHMyzPjdZPWFPRq3DNzXH5tTJ7gpnlV0kKf1nCa7 k8DX7OLZxmF0oUH4JUit2JJKbD2ifLlFfnupC3750751w8hanPg7FOngORm+zYCWlcMH r+nQZolbs59ZAjxcSYqdK2s0ll+knlJDx2gT7F1VEPPTdfQ4zSsKo6C9Hk4A2aiCerlS hjEqZpNOgUA3pkzln/1z+UxnuV0J41LAn0PD28U55MqE/dmigDsvtx74rXFhMqMjsWjp S2uka9j+68xK7yzOUbXNmsw4DdwUUSQykDJuf7ZMqNgX8MhaPChMPz9EL0YAIkHC4E2l qo8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=sBjK+KHwqrIoHs50DYQGMHHcM3FbHZqd22diWtVvLck=; fh=Nz+07K4n2C/J8pPpR+o8kJvUrfA8Hmp0vN4Xg4I3TGg=; b=maUj6P6NtRvUNmD3teCHqs7GwFZS8XdFZAPA2jy5u+DTIzuDl8Nt32gn7pFN596zaL 0IZ/oRzkrnmXYrWds9XamBiCzth2iGHm+tLgCjeiak9pP1EIo6ZufArj79PHzVp1iytC /qBfZJs6A5J1bhO00d4vzHxqGPSOKTO3jRtLcP9mgmld1LeuZBp41Odw3Np760ctsYl0 hLCK1oC6gq9Lw2wDepYp/ZcagotMeqbfs76HhnMmJW5SNp2jc1K8HehbDWHisleeyxrj 23GJ4Cn+eWy5Lf3POBzDbnvwTp/v+sUXHpHhTwrxfmj5/g1GT7LgaSQYwfJNJ66ErBZw IblQ==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786125343; x=1786730143; darn=freebsd.org; h=content-type:to:subject:message-id:date:from:mime-version:from:to :cc:subject:date:message-id:reply-to:content-type; bh=sBjK+KHwqrIoHs50DYQGMHHcM3FbHZqd22diWtVvLck=; b=oLzpXMsX3OBn42cSfUNqaeTnOv2sHLz5n+ThW0OleNc9crzFqWIjKyxP6QsNJbRswT Ni8l7NgSVRJr3/4gn0ep1oFOwiHMAC8PREpflv7fME+tbSQfdWCoNpK7kqVoMpdLIeiJ BKWDQjcNE56+MNZ5FbZWo9NlHD0aC5QOtFrOoygO6iXvV98mF+9RmHTFzvxWeu1itruF bCADTm1sifOKSP2x0HmQLcyfI/NltR28EORcfVFhfD9x8fL0i0fwCLsz+WOLKC0litHh TTPVFmnwZ1H2CsgexynsHVWRuppXgDCYw7WY8sd1ZyXVZswJm1KNMI3XA0enZWlvUzuP eRww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786125343; x=1786730143; h=content-type:to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=sBjK+KHwqrIoHs50DYQGMHHcM3FbHZqd22diWtVvLck=; b=DS1bKRwovwdEHY2f/VE8FPQbL2XjNYDtl4sj1X8jFw77mYvCCUT4J/gGXkzwjbyVIq bTlr3cDnNqFu5SHJqAcKrt4iogmrBraoPqzHIkfYsMJXGFu4TA8p+Wx7TXB8XS3DCUyF u0vdN39eZFeEV6VvpH5NHqJ4vOVkgCh0O+vKz+rMW2wmsK7NoILXcsP8TjSHhiwEtmLP nhTO1CxPyMhC0FBbJnEjzrsdfNEynyf3cwL0khqt0AGqFdxINZj048rrfGTdibSqqKYz QhxYlhpuYNncCZ5uOjfhMnFr4+o5zCyBf1OBURmeMAyBN8uaBzrW6KCSKImIxhKnvItm LEgg== X-Gm-Message-State: AOJu0Yxg77CiI++ADy50SL5J9lujTsl5aUMVWnm1Fu0t26mPzW8UebIl m1T74MfM2EzAg5PGka9+N/WPccF04onTk6aB2TcAzyXz4Hzgw+1t4hJa9Fxbk5zzT3VLzzp6I4+ EKuGZhx3iuI9LK8tsoW9EDIlyHMy4d//Cc3Sr X-Gm-Gg: AR+sD100k8icGCMIEe0fFZ4y2mfzhzLZuO+dQxg4LCfScsEn6AnQ6hg0cyO9o++7q/l Ra+pAEF1171uYHrcW7xdaHd3uzaciO53ITz6/BFbF3Zctysj2pzykAZU8F0OIAQHhENDHXrMglj HCM5aFyS9ZO9AxqPaUqpmBF7EJXTdacc9Y6A6BxvwUBC3pMXd6FLg46yetCR8vNCYX8ScP1xECf zJJ6htj02AZ3SvyNpdINbv2JUPURM+IWErACi2Bp/yjXLXp8uN5MQhd6YLjSuVNeBYbNG7NzQLM CVHYQvL/YHaxJGWHnIbugOGv4GWd0xk040cn/gPIB0XcRfrzunxPUa2TtBx2K++cn1baW8sxzSA kVMUOVyd1LhI75sV4sTZBnnr9u0gNylAuVPcYT85cqToTbFxuR/LTFP7zm97B9aGX X-Received: by 2002:a17:907:1614:b0:c15:f65a:43a8 with SMTP id a640c23a62f3a-c2039d2896fmr1337520366b.12.1786125342555; Fri, 07 Aug 2026 10:55:42 -0700 (PDT) List-Id: FreeBSD-specific Python issues List-Archive: https://lists.freebsd.org/archives/freebsd-python List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-python@freebsd.org Sender: owner-freebsd-python@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 From: =?UTF-8?Q?Andrew_=C5=A0veikauskas?= Date: Fri, 7 Aug 2026 10:55:00 -0700 X-Gm-Features: AUfX_mx1rsO6bJ7M2Vj18Dq72rezKDFNrhgiS0jVWOUMKK0XhFZwv_g_eaKVCXA Message-ID: Subject: databases/py-sqlite3 cannot load extensions (with patch) To: python@freebsd.org Content-Type: multipart/mixed; boundary="00000000000091992a065878b62e" X-Spamd-Result: default: False [-3.73 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; MIME_BASE64_TEXT_BOGUS(1.00)[]; ARC_ALLOW(-1.00)[google.com:s=arc-20260327:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.83)[-0.830]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20251104]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4864::/56]; MIME_BASE64_TEXT(0.10)[]; MIME_GOOD(-0.10)[multipart/mixed,multipart/alternative,text/plain,text/x-patch]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCPT_COUNT_ONE(0.00)[1]; TAGGED_FROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:+]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; MISSING_XM_UA(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; PREVIOUSLY_DELIVERED(0.00)[python@freebsd.org]; TO_DN_NONE(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; HAS_ATTACHMENT(0.00)[]; MID_RHS_MATCH_FROMTLD(0.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; MLMMJ_DEST(0.00)[python@freebsd.org]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; RCVD_COUNT_ONE(0.00)[1]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::632:from] X-Rspamd-Queue-Id: 4hGsJP216fz4GTL X-Spamd-Bar: --- --00000000000091992a065878b62e Content-Type: multipart/alternative; boundary="000000000000919927065878b62c" --000000000000919927065878b62c Content-Type: text/plain; charset="UTF-8" Hi, This address was listed as the maintainer for databases/py-sqlite3. Sorry if this is not the place to drop this. (Tried the bugzilla but it isn't working for me now.) I was playing with this port and I found it doesn't allow loading sqlite extension .so files. This is easily verifiable even without an extension by the following snippet throwing exceptions: import sqlite3 conn = sqlite3.connect(":memory:") conn.enable_load_extension(True) Looking at the port I found that nothing was setting the C macro PY_SQLITE_ENABLE_LOAD_EXTENSION. This is normally set by the python configure script, which gets bypassed for this port. I was able to re-enable the functionality with the attached patch. Regards, Andrew --- ports/databases/py-sqlite3/files/setup.py.old 2026-08-07 10:3 4:47.804089000 -0700 +++ ports/databases/py-sqlite3/files/setup.py 2026-08-07 10:32:55.042 227000 -0700 @@ -9,7 +9,7 @@ prefix + "/include"] lib_dirs = [prefix + "/lib"] libs = ["sqlite3"] -macros = [('MODULE_NAME', '"sqlite3"')] +macros = [('MODULE_NAME', '"sqlite3"'), ('PY_SQLITE_ENABLE_LOAD_EXTENS ION', 1)] sqlite_srcs = [ '_sqlite/connection.c', '_sqlite/cursor.c', --000000000000919927065878b62c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

This address was listed = as the maintainer for databases/py-sqlite3.=C2=A0 Sorry if this is not the = place to drop this.=C2=A0 (Tried the bugzilla but it isn't working for = me now.)=C2=A0 I was playing with this port and I found it doesn't allo= w loading sqlite extension .so files.=C2=A0 This is easily verifiable even = without an extension by the following snippet throwing exceptions:

import sqlite3
conn =3D sqlite3.connect(":memory:"= )
conn.enable_load_extension(True)

Looking at th= e port I found that nothing was setting the C macro PY_SQLITE_ENABLE_LOAD_EXTENSION.=C2=A0 This is normal= ly set by the python configure script,=C2=A0which gets bypassed for this po= rt.

I was able to re-enable the functionality with= the attached patch.

Regards,
Andrew

--- ports/datab= ases/py-sqlite3/files/setup.py.old =C2=A0 =C2=A0 =C2=A0 2026-08-07 10:3
= 4:47.804089000 -0700
+++ ports/databases/py-sqlite3/files/setup.py =C2= =A0 2026-08-07 10:32:55.042
227000 -0700
@@ -9,7 +9,7 @@
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0prefix + "/include"]
= =C2=A0lib_dirs =3D [prefix + "/lib"]
=C2=A0libs =3D ["sql= ite3"]
-macros =3D [('MODULE_NAME', '"sqlite3"= ;')]
+macros =3D [('MODULE_NAME', '"sqlite3"&#= 39;), ('PY_SQLITE_ENABLE_LOAD_EXTENS
ION', 1)]
=C2=A0sqlite_s= rcs =3D [
=C2=A0'_sqlite/connection.c',
=C2=A0'_sqlite/cu= rsor.c',

--000000000000919927065878b62c-- --00000000000091992a065878b62e Content-Type: text/x-patch; charset="US-ASCII"; name="patch-sqlite3-load-extensions.diff" Content-Disposition: attachment; filename="patch-sqlite3-load-extensions.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_msj8gbuu0 LS0tIHBvcnRzL2RhdGFiYXNlcy9weS1zcWxpdGUzL2ZpbGVzL3NldHVwLnB5Lm9sZAkyMDI2LTA4 LTA3IDEwOjM0OjQ3LjgwNDA4OTAwMCAtMDcwMAorKysgcG9ydHMvZGF0YWJhc2VzL3B5LXNxbGl0 ZTMvZmlsZXMvc2V0dXAucHkJMjAyNi0wOC0wNyAxMDozMjo1NS4wNDIyMjcwMDAgLTA3MDAKQEAg LTksNyArOSw3IEBACiAgICAgICAgICAgICBwcmVmaXggKyAiL2luY2x1ZGUiXQogbGliX2RpcnMg PSBbcHJlZml4ICsgIi9saWIiXQogbGlicyA9IFsic3FsaXRlMyJdCi1tYWNyb3MgPSBbKCdNT0RV TEVfTkFNRScsICcic3FsaXRlMyInKV0KK21hY3JvcyA9IFsoJ01PRFVMRV9OQU1FJywgJyJzcWxp dGUzIicpLCAoJ1BZX1NRTElURV9FTkFCTEVfTE9BRF9FWFRFTlNJT04nLCAxKV0KIHNxbGl0ZV9z cmNzID0gWwogJ19zcWxpdGUvY29ubmVjdGlvbi5jJywKICdfc3FsaXRlL2N1cnNvci5jJywK --00000000000091992a065878b62e--