From 5a489da1aa524be8583a23a6f59eb7b33cfdfe80 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Thu, 9 Oct 2025 18:56:24 +0200 Subject: [PATCH] package/gpsd: remove -std=gnu++98 from CFLAGS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In 2016 buildroot commit b4c050e9afed7a8dc302e6e1014cc4ffb508590d added -std=gnu++98 also to CFLAGS knowing that it will cause warnings: https://lists.nongnu.org/archive/html/gpsd-dev/2016-09/msg00082.html 'Although this leads to lots of warnings on every compilation with gcc: "cc1: warning: command line option '-std=gnu++98' is valid for C++/ObjC++ but not for C"' These warnings are still present but cause a misdetection in configure Checking if strerror_r() returns int... no because here warnings are treated as errors, quoting config.log: cc1: error: command-line option ‘-std=gnu++98’ is valid for C++/ObjC++ but not for C [-Werror] cc1: all warnings being treated as errors In 2017 upstream committed https://gitlab.com/gpsd/gpsd/-/commit/d287c76f4f2e1ffd275da41b84f9e08ea7f74344 which added "std::" namespace prefixes and fixed the original problem. -std=gnu++98 being removed from CFLAGS lets configure correctly detect strerror_r(): Checking if strerror_r() returns int... yes and no new build errors occur: arm-aarch64 [ 1/35]: OK bootlin-aarch64-glibc [ 2/35]: OK bootlin-arcle-hs38-uclibc [ 3/35]: OK bootlin-armv5-uclibc [ 4/35]: OK bootlin-armv7-glibc [ 5/35]: OK bootlin-armv7m-uclibc [ 6/35]: SKIPPED bootlin-armv7-musl [ 7/35]: OK bootlin-m68k-5208-uclibc [ 8/35]: SKIPPED bootlin-m68k-68040-uclibc [ 9/35]: OK bootlin-microblazeel-uclibc [10/35]: OK bootlin-mipsel32r6-glibc [11/35]: OK bootlin-mipsel-uclibc [12/35]: OK bootlin-openrisc-uclibc [13/35]: OK bootlin-powerpc64le-power8-glibc [14/35]: OK bootlin-powerpc-e500mc-uclibc [15/35]: OK bootlin-riscv32-glibc [16/35]: OK bootlin-riscv64-glibc [17/35]: OK bootlin-riscv64-musl [18/35]: OK bootlin-s390x-z13-glibc [19/35]: OK bootlin-sh4-uclibc [20/35]: OK bootlin-sparc64-glibc [21/35]: OK bootlin-sparc-uclibc [22/35]: OK bootlin-x86-64-glibc [23/35]: OK bootlin-x86-64-musl [24/35]: OK bootlin-x86-64-uclibc [25/35]: OK bootlin-x86-i686-musl [26/35]: OK bootlin-xtensa-uclibc [27/35]: OK br-arm-basic [28/35]: SKIPPED br-arm-full-nothread [29/35]: SKIPPED br-arm-full-static [30/35]: SKIPPED br-i386-pentium4-full [31/35]: FAILED br-mips64-n64-full [32/35]: OK br-mips64r6-el-hf-glibc [33/35]: OK br-powerpc-603e-basic-cpp [34/35]: SKIPPED br-powerpc64-power7-glibc [35/35]: OK 35 builds, 6 skipped, 1 build failed, 0 legal-info failed, 0 show-info failed The br-i386-pentium4-full error is not caused by gpsd: package/python3/python3.mk:324: *** Python3 doesn't work with uClibc and kernel headers < 5.1. Please use a different toolchain or unselect Python3.. Fixes: https://autobuild.buildroot.org/results/52d747d33d714ea10b9e7ee10adeadd9e4512c2d/ Signed-off-by: Bernd Kuhls Tested-by: Yann E. MORIN Reviewed-by: Yann E. MORIN Signed-off-by: Peter Korsgaard (cherry picked from commit f0023ca18d0cb023fb03b91827f322515a8fc498) Signed-off-by: Thomas Perale --- package/gpsd/gpsd.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk index 8f87766dcc..07d6d11f02 100644 --- a/package/gpsd/gpsd.mk +++ b/package/gpsd/gpsd.mk @@ -37,7 +37,6 @@ endif # Build libgpsmm if we've got C++ ifeq ($(BR2_INSTALL_LIBSTDCPP),y) GPSD_LDFLAGS += -lstdc++ -GPSD_CFLAGS += -std=gnu++98 GPSD_CXXFLAGS += -std=gnu++98 GPSD_SCONS_OPTS += libgpsmm=yes else