[From nobody Sun Mar  8 21:07:05 2026
Received: (at maintonly) by bugs.debian.org; 22 Feb 2026 16:18:48 +0000
X-Spam-Checker-Version: SpamAssassin 4.0.1-bugs.debian.org_2005_01_02
 (2024-03-25) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-105.1 required=4.0 tests=BAYES_00,DKIMWL_WL_HIGH,
 DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FOURLA,
 FROMDEVELOPER,MD5_SHA1_SUM,SPF_HELO_NONE,SPF_NONE,UNPARSEABLE_RELAY,
 USER_IN_DKIM_WELCOMELIST,WORD_WITHOUT_VOWELS autolearn=ham
 autolearn_force=no version=4.0.1-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 121; hammy, 150; neutral, 386; spammy,
 0. spammytokens:
 hammytokens:0.000-+--Hx-spam-relays-external:sk:stravin,
 0.000-+--H*RT:sk:stravin, 0.000-+--Hx-spam-relays-external:311,
 0.000-+--H*RT:311, 0.000-+--H*RT:108
Return-path: &lt;aurel32@debian.org&gt;
Received: from stravinsky.debian.org ([2001:41b8:202:deb::311:108]:41466)
 by buxtehude.debian.org with esmtps
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;aurel32@debian.org&gt;) id 1vuCAR-00DbXn-39
 for maintonly@bugs.debian.org; Sun, 22 Feb 2026 16:18:48 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debian.org; 
 s=smtpauto.stravinsky;
 h=X-Debian-User:Content-Transfer-Encoding:Content-Type
 :MIME-Version:Message-ID:Subject:To:From:Date:Reply-To:Cc:Content-ID:
 Content-Description:In-Reply-To:References;
 bh=RzY3InJCtlC8Z62k7Mpbc0aql7G3UM6zUA2nUN+/xN4=; b=E7JViDHZpNxcEvzxgV5AyfUThC
 7gWsRqhv2dgIPqR5097mB2Q+ieogaQx/FsX7RhPGAEfNXCiN0PgvLIyd/7XVMLCEyE9zm52cB+v92
 qQjEnEC2HlQH0kjlg7k+DXXcL3ONjlGr/FDE865P3aufJ3UoIutQjhJbQAuieFYLpWsqk0dmM0L8Y
 9mn0109fEsj5QHUgPeH1E+eac3U631430ET7RvH4hIszTlLvV33fgG9p1AcN4Fb1FHKMI0pk1hjZi
 MndCUSN2yorno5gZO8ljVcSw5eutGS627EEoEB04+hQnxDNQ92CGMfIhjLdG95g5A+v+XwdnfZgS9
 jWHzubag==;
Received: from authenticated user by stravinsky.debian.org with esmtpsa
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.94.2) (envelope-from &lt;aurel32@debian.org&gt;)
 id 1vuCAR-008JI8-Ra
 for maintonly@bugs.debian.org; Sun, 22 Feb 2026 16:18:46 +0000
Received: from [2a01:e34:ec5d:a741:1ee1:92ff:feb4:5ec0] (helo=ohm.rr44.fr)
 by hall.aurel32.net with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2)
 (envelope-from &lt;aurel32@debian.org&gt;) id 1vuCAP-00000002eN1-3sJg
 for maintonly@bugs.debian.org; Sun, 22 Feb 2026 17:18:45 +0100
Date: Sun, 22 Feb 2026 17:18:45 +0100
From: Aurelien Jarno &lt;aurel32@debian.org&gt;
To: maintonly@bugs.debian.org
Subject: zookeeper: FTBFS with glibc 2.43 due to ISO C23 const return types
Message-ID: &lt;aZssZfhuLl8xNsiU@aurel32.net&gt;
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
User-Agent: Mutt/2.2.13 (2024-03-09)
X-Debian-User: aurel32
Delivered-To: maintonly@bugs.debian.org

Source: zookeeper
Version: 3.9.4-1
Severity: important
Tags: ftbfs upstream
Justification: fails to build from source
User: debian-glibc@lists.debian.org
Usertags: glibc-2.43

Dear maintainer(s),

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

| [INFO]=20
| [INFO] --- antrun:3.1.0:run (build-c-client) @ zookeeper-client-c ---
| [INFO] Executing tasks
| [INFO]      [exec] make[2]: Entering directory '/build/reproducible-path/=
zookeeper-3.9.4/zookeeper-client/zookeeper-client-c/target/c'
| [INFO]      [exec] rm -f  cli_st cli_mt load_gen
| [INFO]      [exec] test -z &quot;&quot; || rm -f  cli_st cli_mt load_gen
| [INFO]      [exec] rm -f  zktest-st zktest-mt
| [INFO]      [exec] test -z &quot;&quot; || rm -f  zktest-st zktest-mt
| [INFO]      [exec] rm -f  libzookeeper_st.la libzookeeper_mt.la
| [INFO]      [exec] rm -f ./so_locations
| [INFO]      [exec] rm -rf .libs _libs
| [INFO]      [exec] rm -f zktest_st-TestDriver.o zktest_st-LibCMocks.o zkt=
est_st-LibCSymTable.o zktest_st-MocksBase.o zktest_st-ZKMocks.o zktest_st-U=
til.o zktest_st-ThreadingUtil.o zktest_st-TestZookeeperInit.o zktest_st-Tes=
tZookeeperClose.o zktest_st-TestReconfig.o zktest_st-TestReconfigServer.o z=
ktest_st-TestClientRetry.o zktest_st-TestOperations.o zktest_st-TestMulti.o=
 zktest_st-TestWatchers.o zktest_st-TestClient.o zktest_st-ZooKeeperQuorumS=
erver.o zktest_st-TestReadOnlyClient.o zktest_st-TestLogClientEnv.o zktest_=
st-TestSASLAuth.o zktest_mt-TestDriver.o zktest_mt-LibCMocks.o zktest_mt-Li=
bCSymTable.o zktest_mt-MocksBase.o zktest_mt-ZKMocks.o zktest_mt-Util.o zkt=
est_mt-ThreadingUtil.o zktest_mt-TestZookeeperInit.o zktest_mt-TestZookeepe=
rClose.o zktest_mt-TestReconfig.o zktest_mt-TestReconfigServer.o zktest_mt-=
TestClientRetry.o zktest_mt-TestOperations.o zktest_mt-TestMulti.o zktest_m=
t-TestWatchers.o zktest_mt-TestClient.o zktest_mt-ZooKeeperQuorumServer.o z=
ktest_mt-TestReadOnlyClient.o zktest_mt-TestLogClientEnv.o zktest_mt-TestSA=
SLAuth.o zktest_mt-PthreadMocks.o
| [INFO]      [exec] rm -f docs/zookeeper.tag -r docs/html       =20
| [INFO]      [exec] rm -f  libhashtable.la libzkst.la libzkmt.la
| [INFO]      [exec] rm -f ./so_locations
| [INFO]      [exec] rm -f *.o
| [INFO]      [exec] rm -f *.lo
| [INFO]      [exec] gcc -DHAVE_CONFIG_H -I. -I/build/reproducible-path/zoo=
keeper-3.9.4/zookeeper-client/zookeeper-client-c  -I/build/reproducible-pat=
h/zookeeper-3.9.4/zookeeper-client/zookeeper-client-c/include -I/build/repr=
oducible-path/zookeeper-3.9.4/zookeeper-client/zookeeper-client-c/tests -I/=
build/reproducible-path/zookeeper-3.9.4/zookeeper-client/zookeeper-client-c=
/generated    -Wdate-time -D_FORTIFY_SOURCE=3D2 -Wall -Werror -Wdeclaration=
-after-statement  -g -O2 -Werror=3Dimplicit-function-declaration -ffile-pre=
fix-map=3D/build/reproducible-path/zookeeper-3.9.4=3D. -fstack-protector-st=
rong -fstack-clash-protection -Wformat -Werror=3Dformat-security -mbranch-p=
rotection=3Dstandard -MT cli.o -MD -MP -MF .deps/cli.Tpo -c -o cli.o `test =
-f 'src/cli.c' || echo '/build/reproducible-path/zookeeper-3.9.4/zookeeper-=
client/zookeeper-client-c/'`src/cli.c
| [INFO]      [exec] /build/reproducible-path/zookeeper-3.9.4/zookeeper-cli=
ent/zookeeper-client-c/src/cli.c: In function =E2=80=98processline=E2=80=99:
| [INFO]      [exec] /build/reproducible-path/zookeeper-3.9.4/zookeeper-cli=
ent/zookeeper-client-c/src/cli.c:503:13: error: assignment discards =E2=80=
=98const=E2=80=99 qualifier from pointer target type [-Werror=3Ddiscarded-q=
ualifiers]
| [INFO]      [exec]   503 |         ptr =3D strchr(line, ' ');
| [INFO]      [exec]       |             ^
| [INFO]      [exec] /build/reproducible-path/zookeeper-3.9.4/zookeeper-cli=
ent/zookeeper-client-c/src/cli.c:709:11: error: assignment discards =E2=80=
=98const=E2=80=99 qualifier from pointer target type [-Werror=3Ddiscarded-q=
ualifiers]
| [INFO]      [exec]   709 |       ptr =3D strchr(line, ' ');
| [INFO]      [exec]       |           ^
| [INFO]      [exec] make[2]: Leaving directory '/build/reproducible-path/z=
ookeeper-3.9.4/zookeeper-client/zookeeper-client-c/target/c'
| [INFO]      [exec] cc1: all warnings being treated as errors
| [INFO]      [exec] make[2]: *** [Makefile:1191: cli.o] Error 1
| [INFO]=20
| [INFO] ------------------------------------------------------------------=
------
| [INFO] Skipping Apache ZooKeeper
| [INFO] This project has been banned from the build due to previous failur=
es.
| [INFO] ------------------------------------------------------------------=
------
| [INFO] ------------------------------------------------------------------=
------
| [INFO] Reactor Summary for Apache ZooKeeper 3.9.4:
| [INFO]=20
| [INFO] Apache ZooKeeper ................................... SUCCESS [  1.=
306 s]
| [INFO] Apache ZooKeeper - Documentation ................... SUCCESS [  0.=
287 s]
| [INFO] Apache ZooKeeper - Jute ............................ SUCCESS [ 18.=
232 s]
| [INFO] Apache ZooKeeper - Server .......................... SUCCESS [ 34.=
474 s]
| [INFO] Apache ZooKeeper - Metrics Providers ............... SUCCESS [  0.=
097 s]
| [INFO] Apache ZooKeeper - Client .......................... SUCCESS [  0.=
095 s]
| [INFO] Apache ZooKeeper - Client - C ...................... FAILURE [ 15.=
071 s]
| [INFO] Apache ZooKeeper - Recipes ......................... SKIPPED
| [INFO] Apache ZooKeeper - Recipes - Election .............. SKIPPED
| [INFO] Apache ZooKeeper - Recipes - Lock .................. SKIPPED
| [INFO] Apache ZooKeeper - Recipes - Queue ................. SKIPPED
| [INFO] Apache ZooKeeper - Assembly ........................ SKIPPED
| [INFO] Apache ZooKeeper - Compatibility Tests ............. SKIPPED
| [INFO] Apache ZooKeeper - Contrib ......................... SKIPPED
| [INFO] Apache ZooKeeper - Contrib - Loggraph .............. SKIPPED
| [INFO] Apache ZooKeeper - Contrib - ZooInspector .......... SKIPPED
| [INFO] Apache ZooKeeper - Tests ........................... SKIPPED
| [INFO] ------------------------------------------------------------------=
------
| [INFO] BUILD FAILURE
| [INFO] ------------------------------------------------------------------=
------
| [INFO] Total time:  01:09 min
| [INFO] Finished at: 2026-02-18T12:07:29Z
| [INFO] ------------------------------------------------------------------=
------
| [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plug=
in:3.1.0:run (build-c-client) on project zookeeper-client-c: An Ant BuildEx=
ception has occured: exec returned: 2
| [ERROR] around Ant part ...&lt;exec failonerror=3D&quot;true&quot; dir=3D&quot;/build/repro=
ducible-path/zookeeper-3.9.4/zookeeper-client/zookeeper-client-c/target/c&quot; =
executable=3D&quot;make&quot;&gt;... @ 4:140 in /build/reproducible-path/zookeeper-3.9.4=
/zookeeper-client/zookeeper-client-c/target/antrun/build-main.xml
| [ERROR] -&gt; [Help 1]
| [ERROR]=20
| [ERROR] To see the full stack trace of the errors, re-run Maven with the =
-e switch.
| [ERROR] Re-run Maven using the -X switch to enable full debug logging.
| [ERROR]=20
| [ERROR] For more information about the errors and possible solutions, ple=
ase read the following articles:
| [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExe=
cutionException
| [ERROR]=20
| [ERROR] After correcting the problems, you can resume the build with the =
command
| [ERROR]   mvn &lt;args&gt; -rf :zookeeper-client-c
| dh_auto_build: error: /usr/lib/jvm/default-java/bin/java -noverify -cp /u=
sr/share/maven/boot/plexus-classworlds-2.x.jar -Dmaven.home=3D/usr/share/ma=
ven -Dmaven.multiModuleProjectDirectory=3D/build/reproducible-path/zookeepe=
r-3.9.4 -Dclassworlds.conf=3D/etc/maven/m2-debian.conf org.codehaus.plexus.=
classworlds.launcher.Launcher -s/etc/maven/settings-debian.xml -Ddebian.dir=
=3D/build/reproducible-path/zookeeper-3.9.4/debian -Dmaven.repo.local=3D/bu=
ild/reproducible-path/zookeeper-3.9.4/debian/maven-repo --batch-mode packag=
e javadoc:jar javadoc:aggregate -Pfull-build -DskipTests -Dnotimestamp=3Dtr=
ue -Dlocale=3Den_US returned exit code 1
| make[1]: *** [debian/rules:23: override_dh_auto_build-indep] Error 25
| make[1]: Leaving directory '/build/reproducible-path/zookeeper-3.9.4'
| make: *** [debian/rules:11: binary] Error 2
| 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/zookeeper_a=
rm64.build
[2] https://sourceware.org/git/?p=3Dglibc.git;a=3Dblob;f=3DNEWS;h=3De271fb2=
e4d76903c77a302aaec1ca22ce31027d0;hb=3Df762ccf84f122d1354f103a151cba8bde797=
d521#l19

--=20
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                     http://aurel32.net
]