Control: tags -1 unreproducible moreinfo

Matthias Klose, le jeu. 31 déc. 2020 14:27:20 +0000, a ecrit:
> The package fails to build in a test rebuild on at least amd64 with
> autoconf 2.70, but succeeds to build with autoconf 2.69.

> The full build log can be found at:
> http://qa-logs.debian.net/2020/09/26.ac270/eztrace_1.1-8-6_unstable_ac270.log

Matthias Klose, le ven. 08 janv. 2021 13:58:56 +0100, a ecrit:
> Control: reassign -1 eztrace
> 
> > My understanding is that the problem comes from autoconf.
> 
> and that's the reason that you reassign to a third package? Not amused.

I meant that some autoconf test apparently triggered an issue with gcc:

> /usr/include/c++/10/cstdlib:151:11: error: 'malloc' has not been declared in 
> '::'
>   151 |   using ::malloc;
>       |           ^~~~~~

But as François found:

> The conftest.cpp file generated by autoconf contains
> 
>  #define malloc rpl_malloc
> 
> which may mess with stdlib.h.

It's the "'malloc' has not been declared in '::'" message that looks
odd, if it was telling rpl_malloc, I would have understood that the
concern is not in gcc. Now,

> Simplifying the conftest.cpp to this shows the problem:
> // conftest.cpp
> #define malloc rpl_malloc
> #include <stdlib.h>

That rpl_malloc is due to this:

configure:14650: checking for GNU libc compatible malloc
configure:14682: g++ -o conftest -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security -Wdate-time 
-D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.cpp -liberty -lz -lpthread 
-lm -ldl  >&5
conftest.cpp: In function 'int main()':
conftest.cpp:43:18: error: invalid conversion from 'void*' to 'char*' 
[-fpermissive]
   43 | char *p = malloc (0);
      |           ~~~~~~~^~~
      |                  |
      |                  void*

but... where is this code actually coming from?? I tried to install
autoconf/experimental, the eztrace package built fine... and indeed that
version of autoconf has:

./autoconf/autoconf.m4f:                 [[void *p = malloc (0);

not char *. Was the rebuild really made with autoconf 2.70-1?
(FTR, autoconf 2.69 generates return ! malloc (0); instead)

Samuel

Reply via email to