Indeed, it seems that the problem comes from autoconf, not g++.
The failed build logs shows this error message:
configure:15491: checking for litl_types.h
configure:15491: g++ -c -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=.
-fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
-D_FORTIFY_SOURCE=2 -I/usr/include conftest.cpp >&5
In file included from /usr/include/c++/10/stdlib.h:36,
from conftest.cpp:44:
/usr/include/c++/10/cstdlib:151:11: error: 'malloc' has not been
declared in '::'
151 | using ::malloc;
| ^~~~~~
In file included from conftest.cpp:44:
/usr/include/c++/10/stdlib.h:65:12: error: 'malloc' has not been
declared in 'std'
65 | using std::malloc;
| ^~~~~~
configure:15491: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "eztrace"
| #define PACKAGE_TARNAME "eztrace"
| #define PACKAGE_VERSION "1.1-8"
| #define PACKAGE_STRING "eztrace 1.1-8"
| #define PACKAGE_BUGREPORT "eztrace-de...@lists.gforge.inria.fr"
| #define PACKAGE_URL ""
| #define PACKAGE "eztrace"
| #define VERSION "1.1-8"
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define STDC_HEADERS 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define HAVE_LIBDL 1
| #define HAVE_LIBM 1
| #define HAVE_LIBPTHREAD 1
| #define HAVE_LIBZ 1
| #define HAVE_DECL_BASENAME 1
| #define HAVE_FCNTL_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_MALLOC_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SYS_SYSCALL_H 1
| #define HAVE_LIBIBERTY 1
| #define HAVE_LIBBFD 1
| #define HAVE_MALLOC 0
| #define malloc rpl_malloc
| #define HAVE_ATEXIT 1
| #define HAVE_LIBBFD 1
| /* end confdefs.h. */
| #include <stddef.h>
| #include <stdio.h>
| #include <stdlib.h>
| #include <string.h>
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <litl_types.h>
configure:15491: result: no
configure:15496: error: cannot find headers for LiTL
The conftest.cpp file generated by autoconf contains
#define malloc rpl_malloc
which may mess with stdlib.h.
Simplifying the conftest.cpp to this shows the problem:
// conftest.cpp
#define malloc rpl_malloc
#include <stdlib.h>
$ g++ -c -g -O2 -fstack-protector-strong -Wformat
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include
conftest.cpp
In file included from /usr/include/c++/10/stdlib.h:36,
from conftest.cpp:2:
/usr/include/c++/10/cstdlib:151:11: error: 'malloc' has not been
declared in '::'
151 | using ::malloc;
| ^~~~~~
In file included from conftest.cpp:2:
/usr/include/c++/10/stdlib.h:65:12: error: 'malloc' has not been
declared in 'std'
65 | using std::malloc;
| ^~~~~~
I think, the problem should be reported to autoconf, not g++. However, I
could not reproduce the problem (starting from a configure.ac script,
converting it to configure and running it).
François
On 08/01/2021 14:03, Debian Bug Tracking System wrote:
Processing control commands:
reassign -1 eztrace
Bug #978806 [g++-10] eztrace: ftbfs with autoconf 2.70
Bug reassigned from package 'g++-10' to 'eztrace'.
Ignoring request to alter found versions of bug #978806 to the same values
previously set
Ignoring request to alter fixed versions of bug #978806 to the same values
previously set