Bug#1067911: FTBFS: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror]
On 4/10/24 10:02, Andrey Rakhmatullin wrote: On Wed, Apr 10, 2024 at 09:52:44AM -0400, Chris Knadle wrote: Removing -Werror looks like it would be a simple patch, it seems to be set here: config/Make.rules.Linux:cppflags = -Wall -Wextra -Wredundant-decls -Wshadow -Wdeprecated -Werror -pthread $(if $(filter yes,$(OPTIMIZE)),-DNDEBUG,-g) ... but this also doesn't sound like the right answer. Yes, it just turns the error into a warning, it's still better to remove the problem that causes this warning, but it's *also* better to not use -Werror when building Debian packages. That's probably true. I've made a patch to do this, I'll do a test build and then upload an NMU. -- Chris -- Chris Knadle chris.kna...@coredump.us
Bug#1067911: FTBFS: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror]
On Wed, Apr 10, 2024 at 09:52:44AM -0400, Chris Knadle wrote: > > > Apparently this new bug got introduced with the time_t 64bit transition: > > Yes, but it's a valid bug in the package, not a bad thing accidentally > > introduced by the transition. > That doesn't sound right. > The zeroc-ice source code does not set the > '-Werror=implicit-function-declaration' build option. Yes, Debian sets that. > I think these two lines in debian/rules in the package are where CFLAGS get > set: > > > DPKG_EXPORT_BUILDFLAGS = 1 > include /usr/share/dpkg/default.mk > > In other words, whatever bug this is seems to be due to a change in > reasonable default configs from Debian, not in the source. The change that led to this FTBFS is of course a change in Debian, not in the package, but the FTBFS happens because flags from CFLAGS set by Debian are used to compile C++ code. Compare `dpkg-buildflags --get CFLAGS` and `dpkg-buildflags --get CXXFLAGS`. > From examining the source, zeroc-ice doesn't set CFLAGS when building with > Linux.The source of CFLAGS being set seems to be set by dpkg-buildflags Of course. > Removing -Werror looks like it would be a simple patch, it seems to be set > here: > > config/Make.rules.Linux:cppflags = -Wall -Wextra -Wredundant-decls > -Wshadow -Wdeprecated -Werror -pthread $(if $(filter > yes,$(OPTIMIZE)),-DNDEBUG,-g) > > ... but this also doesn't sound like the right answer. Yes, it just turns the error into a warning, it's still better to remove the problem that causes this warning, but it's *also* better to not use -Werror when building Debian packages. > But clearing CFLAGS seems like it would be reasonable. I cannot call that reasonable. -- WBR, wRAR signature.asc Description: PGP signature
Bug#1067911: FTBFS: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror]
On 4/10/24 04:32, Andrey Rakhmatullin wrote: On Tue, Apr 09, 2024 at 09:50:37PM -0400, Chris Knadle wrote: Apparently this new bug got introduced with the time_t 64bit transition: Yes, but it's a valid bug in the package, not a bad thing accidentally introduced by the transition. That doesn't sound right. The zeroc-ice source code does not set the '-Werror=implicit-function-declaration' build option. I think these two lines in debian/rules in the package are where CFLAGS get set: DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/default.mk In other words, whatever bug this is seems to be due to a change in reasonable default configs from Debian, not in the source. (?) Can the CFLAGS be cleared with: DEB_CFLAGS_SET="" What I don't know is what has to be done now to get zeroc-ice fixed. Does this require an upload to disable the implict-function-declaration flag Please don't disable it. I see two options here: either fix the package to not use $CFLAGS to build C++ code or fix the package to not use -Werror. From examining the source, zeroc-ice doesn't set CFLAGS when building with Linux.The source of CFLAGS being set seems to be set by dpkg-buildflags Removing -Werror looks like it would be a simple patch, it seems to be set here: config/Make.rules.Linux:cppflags = -Wall -Wextra -Wredundant-decls -Wshadow -Wdeprecated -Werror -pthread $(if $(filter yes,$(OPTIMIZE)),-DNDEBUG,-g) ... but this also doesn't sound like the right answer. But clearing CFLAGS seems like it would be reasonable. I need to fix this to allow zeroc-ice to transition to Testing, in order to allow mumble to transition to Testing. Note that it won't transition to testing before the time64 transition to to testing is allowed. -- Chris Knadle chris.kna...@coredump.us
Bug#1067911: FTBFS: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror]
On Tue, Apr 09, 2024 at 09:50:37PM -0400, Chris Knadle wrote: > Apparently this new bug got introduced with the time_t 64bit transition: Yes, but it's a valid bug in the package, not a bad thing accidentally introduced by the transition. > What I don't know is what has to be done now to get zeroc-ice fixed. Does > this require an upload to disable the implict-function-declaration flag Please don't disable it. I see two options here: either fix the package to not use $CFLAGS to build C++ code or fix the package to not use -Werror. > I need to fix this to allow zeroc-ice to transition to Testing, in order to > allow mumble to transition to Testing. Note that it won't transition to testing before the time64 transition to to testing is allowed. -- WBR, wRAR signature.asc Description: PGP signature
Bug#1067911: FTBFS: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror]
Hello Audrey. Apparently this new bug got introduced with the time_t 64bit transition: "abi=time64 turns on -Werror=implicit-function-declaration in dpkg-buildflags, which causes unrelated build failures." See: https://wiki.debian.org/BrainDumpT64 https://git.dpkg.org/cgit/dpkg/dpkg.git/diff/?id=4993fe783 What I don't know is what has to be done now to get zeroc-ice fixed. Does this require an upload to disable the implict-function-declaration flag, or does this simply require a binNMU? I need to fix this to allow zeroc-ice to transition to Testing, in order to allow mumble to transition to Testing. -- Chris -- Chris Knadle chris.kna...@coredump.us Source: zeroc-ice Version: 3.7.10-2.1 Severity: serious Tags: ftbfs https://buildd.debian.org/status/fetch.php?pkg=zeroc- ice=armhf=3.7.10-2.1=1711639887=0 arm-linux-gnueabihf-g++ -g -O2 -ffile-prefix-map=/<>=. -fstack- protector-strong -fstack-clash-protection -Wformat -Werror=format-security -MT modules/IcePy/build/arm-linux-gnueabihf/shared/pic/Grammar.o -MMD -MP -MF modules/IcePy/build/arm-linux-gnueabihf/shared/pic/Grammar.Td -Wall -Wextra -Wshadow -Wdeprecated -Werror -pthread -DNDEBUG -Imodules/IcePy -I../cpp/include -I../cpp/include/generated -I../cpp/src -I/usr/include/python3.11 -I/usr/include/python3.11 -Wsign-compare -g -Werror=implicit-function-declaration -fstack-protector-strong -fstack-clash- protection -Wformat -Werror=format-security -DNDEBUG -g -fwrapv -O2 -Wall -Wno- missing-field-initializers -Wno-psabi -fPIC -fvisibility=hidden -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -c ../cpp/src/Slice/Grammar.cpp -o modules/IcePy/build/arm- linux-gnueabihf/shared/pic/Grammar.o cc1plus: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror] cc1plus: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror] cc1plus: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror] cc1plus: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror]
Bug#1067911: FTBFS: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror]
Source: zeroc-ice Version: 3.7.10-2.1 Severity: serious Tags: ftbfs https://buildd.debian.org/status/fetch.php?pkg=zeroc- ice=armhf=3.7.10-2.1=1711639887=0 arm-linux-gnueabihf-g++ -g -O2 -ffile-prefix-map=/<>=. -fstack- protector-strong -fstack-clash-protection -Wformat -Werror=format-security -MT modules/IcePy/build/arm-linux-gnueabihf/shared/pic/Grammar.o -MMD -MP -MF modules/IcePy/build/arm-linux-gnueabihf/shared/pic/Grammar.Td -Wall -Wextra -Wshadow -Wdeprecated -Werror -pthread -DNDEBUG -Imodules/IcePy -I../cpp/include -I../cpp/include/generated -I../cpp/src -I/usr/include/python3.11 -I/usr/include/python3.11 -Wsign-compare -g -Werror=implicit-function-declaration -fstack-protector-strong -fstack-clash- protection -Wformat -Werror=format-security -DNDEBUG -g -fwrapv -O2 -Wall -Wno- missing-field-initializers -Wno-psabi -fPIC -fvisibility=hidden -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -c ../cpp/src/Slice/Grammar.cpp -o modules/IcePy/build/arm- linux-gnueabihf/shared/pic/Grammar.o cc1plus: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror] cc1plus: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror] cc1plus: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror] cc1plus: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror] -- System Information: Debian Release: trixie/sid APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'unstable'), (500, 'testing'), (101, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 6.7.9-amd64 (SMP w/4 CPU threads; PREEMPT) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled