#1128736 pam-python: FTBFS with glibc 2.43 due to ISO C23 const return types

Package:
src:pam-python
Source:
src:pam-python
Submitter:
Aurelien Jarno
Date:
2026-09-07 14:25:04 UTC
Severity:
normal
Tags:
#1128736#5
Date:
2026-02-22 16:16:32 UTC
From:
To:
Dear maintainer(s),

pam-python fails to build from source with glibc 2.43, currently in
experimental. From the build log:

| pam_python.c: In function ‘load_user_module’:
| pam_python.c:2289:20: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
|  2289 |   user_module_name = strrchr(module_path, '/');
|       |                    ^
| making output directory... done
| loading intersphinx inventory 'python' from /usr/share/doc/python3-doc/html/objects.inv ...
| building [mo]: targets for 0 po files that are out of date
| writing output...
| building [html]: targets for 1 source files that are out of date
| updating environment: [new config] 1 added, 0 changed, 0 removed
| reading sources... [100%] pam_python
|
| looking for now-outdated files... none found
| pickling environment... done
| checking consistency... done
| preparing documents... done
| copying assets...
| copying static files...
| Writing evaluated template result to /build/reproducible-path/pam-python-1.1.0~git20220701.1d4e111/doc/html/_static/language_data.js
| Writing evaluated template result to /build/reproducible-path/pam-python-1.1.0~git20220701.1d4e111/doc/html/_static/basic.css
| Writing evaluated template result to /build/reproducible-path/pam-python-1.1.0~git20220701.1d4e111/doc/html/_static/documentation_options.js
| Writing evaluated template result to /build/reproducible-path/pam-python-1.1.0~git20220701.1d4e111/doc/html/_static/alabaster.css
| copying static files: done
| copying extra files...
| copying extra files: done
| copying assets: done
| writing output... [100%] pam_python
|
| generating indices... genindex done
| writing additional pages... search done
| dumping search index in English (code: en)... done
| dumping object inventory... done
| build succeeded.
|
| The HTML pages are in html.
| rm -f html/index.html && ln -s pam_python.html html/index.html
| make[2]: Leaving directory '/build/reproducible-path/pam-python-1.1.0~git20220701.1d4e111/doc'
| cc1: all warnings being treated as errors
| error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1
| make[2]: *** [Makefile:13: pam_python.so] Error 1
| make[2]: Leaving directory '/build/reproducible-path/pam-python-1.1.0~git20220701.1d4e111/src'
| make[1]: *** [Makefile:6: lib] Error 2
| make[1]: Leaving directory '/build/reproducible-path/pam-python-1.1.0~git20220701.1d4e111'
| dh_auto_build: error: make -j128 INSTALL="install --strip-program=true" returned exit code 2
| make: *** [debian/rules:12: binary] Error 25
| dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2

The full build log is available here [1].

The issue is due to ISO C23 declaration of bsearch, memchr, strchr,
strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr,
which now returns a pointer to a const-qualified type when the input
argument is a pointer to a const-qualified type [2].

I would like to thanks Emanuele Rocca for doing the archive rebuild on
a fast arm64 server.

Regards
Aurelien

[1] https://people.debian.org/~ema/glibc-2.43-rebuilds/output-1/pam-python_arm64.build
[2] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=e271fb2e4d76903c77a302aaec1ca22ce31027d0;hb=f762ccf84f122d1354f103a151cba8bde797d521#l19

#1128736#12
Date:
2026-08-10 12:44:53 UTC
From:
To:
control: severity 1127629 serious
control: severity 1128547 serious
control: severity 1128734 serious
control: severity 1128740 serious
control: severity 1128528 serious
control: severity 1128532 serious
control: severity 1128534 serious
control: severity 1128541 serious
control: severity 1128544 serious
control: severity 1128545 serious
control: severity 1128548 serious
control: severity 1128549 serious
control: severity 1128551 serious
control: severity 1128615 serious
control: severity 1128678 serious
control: severity 1128680 serious
control: severity 1128681 serious
control: severity 1128697 serious
control: severity 1128736 serious
control: severity 1128737 serious
control: severity 1128738 serious
control: severity 1128741 serious
control: severity 1128742 serious
control: severity 1128743 serious
control: severity 1128750 serious
control: severity 1128757 serious
control: severity 1128761 serious
control: severity 1128763 serious
control: severity 1128764 serious
control: severity 1128875 serious
control: severity 1128952 serious
control: severity 1128542 serious
control: severity 1128679 serious
control: severity 1128682 serious
control: severity 1128744 serious
control: severity 1128748 serious
control: severity 1128867 serious

Hi,

With the upload of glibc 2.43 to unstable, the packages now FTBFS in
unstable, hence upgrading the severity to serious.

Note that as a quick workaround, it is possible to roll back to C/C++17
standard using -std=c17, -std=gnu17, std=c++17 or std=gnu++17. This was
the default up to GCC 14, and GCC 15 changed it to C/C23.

Regards
Aurelien

#1128736#19
Date:
2026-09-07 14:23:05 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
pam-python, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1128736@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Mike Gabriel <sunweaver@debian.org> (supplier of updated pam-python package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Wed, 02 Sep 2026 15:28:49 +0200
Source: pam-python
Architecture: source
Version: 1.1.0~git20260902.7e593da-0.1
Distribution: unstable
Urgency: medium
Maintainer: Russell Stuart <russell-debian@stuart.id.au>
Changed-By: Mike Gabriel <sunweaver@debian.org>
Closes: 1128736 1129481
Changes:
 pam-python (1.1.0~git20260902.7e593da-0.1) unstable; urgency=medium
 .
   * Non-maintainer upload.
 .
   [ Mike Gabriel ]
   * New upstream Git snapshot (upstream commit hash:
     d4690615f2c0db24728833a5c88cd592ee9201d8).
     - Fix FTBFS against glibc 2.43 due to ISO C23 const return types.
       (Closes: #1128736).
   * debian/patches:
     + Drop patches 0002 - 0011, 1001, and 1010. Included in upstream snapshot.
   * debian/control:
     + Bump to Standards-Version: 4.7.4. Drop R³: field. Drop Priority: field.
   * debian/rules:
     + Add get-orig-source target that can create Git snapshot from Git commits
       referenced in the package's version number.
 .
   [ Helmut Grohne ]
   * Fully separate arch/indep builds. (Closes: #1129481).
Checksums-Sha1:
 45c611e8881496c1428fbd39c3a099c83d5432e1 2393 pam-python_1.1.0~git20260902.7e593da-0.1.dsc
 23e18699b34b92490672689e496b23c490dbf532 43100 pam-python_1.1.0~git20260902.7e593da.orig.tar.xz
 c58b1870d795f0fb515bcdcecd8b02d487a3f682 16200 pam-python_1.1.0~git20260902.7e593da-0.1.debian.tar.xz
 ae3229ed610d448bea6b41e6fc2ac9252574979f 8183 pam-python_1.1.0~git20260902.7e593da-0.1_source.buildinfo
Checksums-Sha256:
 8bf3ce09fe66abad362d80ae1a72d5ba6d654b97dcab4cc9e4410bdc41bb294b 2393 pam-python_1.1.0~git20260902.7e593da-0.1.dsc
 54038bffe7627feb8bfbac2d9f5cce72a942fe7f23d6fcc106eca67552ebb84b 43100 pam-python_1.1.0~git20260902.7e593da.orig.tar.xz
 6c863761977c4f03aa34fab6f33a0748d55220ce674b56a23105d2251cb7fd35 16200 pam-python_1.1.0~git20260902.7e593da-0.1.debian.tar.xz
 fcee654d1ea325c66fbd416558d5ed5b831219f2b42af787f872654cffe8f061 8183 pam-python_1.1.0~git20260902.7e593da-0.1_source.buildinfo
Files:
 1b0f1e256ff649ecb634743f9552ac62 2393 admin optional pam-python_1.1.0~git20260902.7e593da-0.1.dsc
 ccb2699ef8e1b9cae2c3d94b0b0da41a 43100 admin optional pam-python_1.1.0~git20260902.7e593da.orig.tar.xz
 c11c9f22f7162d5086516f44ac10fff6 16200 admin optional pam-python_1.1.0~git20260902.7e593da-0.1.debian.tar.xz
 da4a39add95b2815c704cba138c4d993 8183 admin optional pam-python_1.1.0~git20260902.7e593da-0.1_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJJBAEBCgAzFiEEm/uu6GwKpf+/IgeCmvRrMCV3GzEFAmqYJZUVHHN1bndlYXZl
ckBkZWJpYW4ub3JnAAoJEJr0azAldxsxmogP/j8JrdfO+T9qiuFaeEaslxIp4Pek
yVjpA65s2s6yI6mv7wIW6+YwbwNg/X24xey+bqoyGKV1E/AFFO6AuG8Uhc5XVAp2
DgQfb0Rh2yrk3cWkZb8Re6uqSiiABDnsWq1HYdaZeSbWtm82xPpX1TwyPzl16gsf
dB5csWScBt09KEnMpMcZldEv4oxwHJ0XlE4fUVBUtKxpLAt/FyGv1OLmLpqo30qf
Jku4TnZ/z7UmjKKhCm6EQwL+eUgtJcj9DzziiCInXuvRudur5EdSpsX7of0KHtF1
GyAMA+LcOaTy+j04mGOuZNVKKU+C64VQD7o5HzminF+fBbOWO58qqFWT1AZdYGRL
zW+L+x/gCr7EfCqq2k/lDuMnfV9V31TtsJAPbqF9LzMkBE3y7Tblo1zPw9hVBPYb
DLLmwTTA1joBV5cqZZHQ6GLsAD1lDkU3wnvHgiCuzF4YgI4Fxpvv0py4ONLi7aXZ
qxaPAObcg2o/S0ctA7QSDAmTBkdh3TsZPIaR3gFoRi2z5/HRDUbWKqHg0A38gICS
pQ2fXq0L2EqRaeHKDUiIf1YNgfI/3AFKqPd563obA2JOehrxCNSNvQbUWS0e/TkV
rSwqyVKVaG2v5Rlss3XJf30JDMOuwwI4XOEWMp+8Z/jCxc0ITGW4j1aF8GXtFes0
Mv+fq4h6X09WuUbO
=132R
-----END PGP SIGNATURE-----