Bug#1067911: FTBFS: error: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ [-Werror]

2024-04-10 Thread Chris Knadle



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]

2024-04-10 Thread Andrey Rakhmatullin
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]

2024-04-10 Thread Chris Knadle

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]

2024-04-10 Thread Andrey Rakhmatullin
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]

2024-04-09 Thread Chris Knadle

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]

2024-03-28 Thread Andrey Rakhmatullin
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