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


Reply via email to