Bug#1128762: zookeeper: FTBFS with glibc 2.43 due to ISO C23 const return types
Aurelien Jarno
aurel32 at debian.org
Sun Feb 22 16:18:45 GMT 2026
Source: zookeeper
Version: 3.9.4-1
Severity: important
Tags: ftbfs upstream
Justification: fails to build from source
User: debian-glibc at 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]
| [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 "" || rm -f cli_st cli_mt load_gen
| [INFO] [exec] rm -f zktest-st zktest-mt
| [INFO] [exec] test -z "" || 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 zktest_st-LibCSymTable.o zktest_st-MocksBase.o zktest_st-ZKMocks.o zktest_st-Util.o zktest_st-ThreadingUtil.o zktest_st-TestZookeeperInit.o zktest_st-TestZookeeperClose.o zktest_st-TestReconfig.o zktest_st-TestReconfigServer.o zktest_st-TestClientRetry.o zktest_st-TestOperations.o zktest_st-TestMulti.o zktest_st-TestWatchers.o zktest_st-TestClient.o zktest_st-ZooKeeperQuorumServer.o zktest_st-TestReadOnlyClient.o zktest_st-TestLogClientEnv.o zktest_st-TestSASLAuth.o zktest_mt-TestDriver.o zktest_mt-LibCMocks.o zktest_mt-LibCSymTable.o zktest_mt-MocksBase.o zktest_mt-ZKMocks.o zktest_mt-Util.o zktest_mt-ThreadingUtil.o zktest_mt-TestZookeeperInit.o zktest_mt-TestZookeeperClose.o zktest_mt-TestReconfig.o zktest_mt-TestReconfigServer.o zktest_mt-TestClientRetry.o zktest_mt-TestOperations.o zktest_mt-TestMulti.o zktest_mt-TestWatchers.o zktest_mt-TestClient.o zktest_mt-ZooKeeperQuorumServer.o zktest_mt-TestReadOnlyClient.o zktest_mt-TestLogClientEnv.o zktest_mt-TestSASLAuth.o zktest_mt-PthreadMocks.o
| [INFO] [exec] rm -f docs/zookeeper.tag -r docs/html
| [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/zookeeper-3.9.4/zookeeper-client/zookeeper-client-c -I/build/reproducible-path/zookeeper-3.9.4/zookeeper-client/zookeeper-client-c/include -I/build/reproducible-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=2 -Wall -Werror -Wdeclaration-after-statement -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/zookeeper-3.9.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -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-client/zookeeper-client-c/src/cli.c: In function ‘processline’:
| [INFO] [exec] /build/reproducible-path/zookeeper-3.9.4/zookeeper-client/zookeeper-client-c/src/cli.c:503:13: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
| [INFO] [exec] 503 | ptr = strchr(line, ' ');
| [INFO] [exec] | ^
| [INFO] [exec] /build/reproducible-path/zookeeper-3.9.4/zookeeper-client/zookeeper-client-c/src/cli.c:709:11: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
| [INFO] [exec] 709 | ptr = strchr(line, ' ');
| [INFO] [exec] | ^
| [INFO] [exec] make[2]: Leaving directory '/build/reproducible-path/zookeeper-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]
| [INFO] ------------------------------------------------------------------------
| [INFO] Skipping Apache ZooKeeper
| [INFO] This project has been banned from the build due to previous failures.
| [INFO] ------------------------------------------------------------------------
| [INFO] ------------------------------------------------------------------------
| [INFO] Reactor Summary for Apache ZooKeeper 3.9.4:
| [INFO]
| [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-plugin:3.1.0:run (build-c-client) on project zookeeper-client-c: An Ant BuildException has occured: exec returned: 2
| [ERROR] around Ant part ...<exec failonerror="true" dir="/build/reproducible-path/zookeeper-3.9.4/zookeeper-client/zookeeper-client-c/target/c" executable="make">... @ 4:140 in /build/reproducible-path/zookeeper-3.9.4/zookeeper-client/zookeeper-client-c/target/antrun/build-main.xml
| [ERROR] -> [Help 1]
| [ERROR]
| [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]
| [ERROR] For more information about the errors and possible solutions, please read the following articles:
| [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
| [ERROR]
| [ERROR] After correcting the problems, you can resume the build with the command
| [ERROR] mvn <args> -rf :zookeeper-client-c
| dh_auto_build: error: /usr/lib/jvm/default-java/bin/java -noverify -cp /usr/share/maven/boot/plexus-classworlds-2.x.jar -Dmaven.home=/usr/share/maven -Dmaven.multiModuleProjectDirectory=/build/reproducible-path/zookeeper-3.9.4 -Dclassworlds.conf=/etc/maven/m2-debian.conf org.codehaus.plexus.classworlds.launcher.Launcher -s/etc/maven/settings-debian.xml -Ddebian.dir=/build/reproducible-path/zookeeper-3.9.4/debian -Dmaven.repo.local=/build/reproducible-path/zookeeper-3.9.4/debian/maven-repo --batch-mode package javadoc:jar javadoc:aggregate -Pfull-build -DskipTests -Dnotimestamp=true -Dlocale=en_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_arm64.build
[2] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=e271fb2e4d76903c77a302aaec1ca22ce31027d0;hb=f762ccf84f122d1354f103a151cba8bde797d521#l19
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
aurelien at aurel32.net http://aurel32.net
More information about the pkg-java-maintainers
mailing list