Hello Reuben.

I have received the report below from the Debian BTS.

I found a way to fix it in recode 3.6, and I assume that
it is already fixed in recode 3.7.x (but I still have to check).

So, this email is just to tell you that you were right
in Bug #1066203 when you suggested to update the configure script.

In such bug, I first tried adding missing includes (as many as required),
and when I realized that there were too many of them, I gave up
and disabled -Werror=implicit-function-declaration in debian/rules
via DEB_CFLAGS_MAINT_STRIP.

When using gcc-14, this is no longer possible so I had to look at this again.

What I found is that running autoconf one more time produces a configure
script which is a little bit smarter than before, and then I just had
to add three missing includes.

I still would like to see recode 3.7.x in trixie, but this will buy us
a little bit more time.

Thanks.

-------- Mensaje reenviado --------
Asunto: Bug#1075440: recode: ftbfs with GCC-14
De: Matthias Klose <d...@debian.org>

Package: src:recode
Version: 3.6-26
Severity: important
Tags: sid trixie
User: debian-...@lists.debian.org
Usertags: ftbfs-gcc-14

[This bug is targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-14/g++-14, but succeeds to build with gcc-13/g++-13. The
severity of this report will be raised before the trixie release.

The full build log can be found at:
http://qa-logs.debian.net/2024/07/01/recode_3.6-26_unstable_gccexp.log
The last lines of the build log are at the end of this report.

To build with GCC 14, either set CC=gcc-14 CXX=g++-14 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++

Common build failures are new warnings resulting in build failures with
-Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-14/porting_to.html

[...]
rm -f stamp-pot
rm -rf doc/recode
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_clean
 debian/rules binary
dh binary
   dh_update_autotools_config
cp: warning: behavior of -n is non-portable and may change in future; use 
--update=none instead
cp: warning: behavior of -n is non-portable and may change in future; use 
--update=none instead
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/<<PKGBUILDDIR>>'
touch aclocal.m4
touch configure
touch stamp-h.in
touch config.h.in
touch Makefile.in
touch m4/Makefile.in
touch doc/Makefile.in
touch lib/Makefile.in
touch libiconv/Makefile.in
touch i18n/Makefile.in
touch src/Makefile.in
touch tests/Makefile.in
touch contrib/Makefile.in
dh_auto_configure -- --without-included-gettext
        ./configure --build=x86_64-linux-gnu --prefix=/usr 
--includedir=\${prefix}/include --mandir=\${prefix}/share/man 
--infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var 
--disable-option-checking --disable-silent-rules 
--libdir=\${prefix}/lib/x86_64-linux-gnu 
--libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode 
--disable-dependency-tracking --without-included-gettext
creating cache ./config.cache
checking for a BSD compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal-1.4... missing
checking for working autoconf... found
checking for working automake-1.4... missing
checking for working autoheader... found
checking for working makeinfo... found
checking how to suppress newlines using echo... escape
checking for gcc... gcc
checking whether the C compiler (gcc -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro) 
works... no
configure: error: installation or configuration problem: C compiler cannot 
create executables.
        tail -v -n \+0 config.log
==> config.log <==
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:741: checking for a BSD compatible install
configure:794: checking whether build environment is sane
configure:851: checking whether make sets ${MAKE}
configure:897: checking for working aclocal-1.4
configure:910: checking for working autoconf
configure:923: checking for working automake-1.4
configure:936: checking for working autoheader
configure:949: checking for working makeinfo
configure:965: checking how to suppress newlines using echo
configure:996: checking for gcc
configure:1109: checking whether the C compiler (gcc -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro) 
works
configure:1125: gcc -o conftest -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection 
-Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro conftest.c  1>&5
configure:1122:1: error: return type defaults to 'int' [-Wimplicit-int]
 1122 | main(){return(0);}
      | ^~~~
configure: failed program was:

#line 1120 "configure"
#include "confdefs.h"

main(){return(0);}
dh_auto_configure: error: ./configure --build=x86_64-linux-gnu --prefix=/usr 
--includedir=\${prefix}/include --mandir=\${prefix}/share/man 
--infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var 
--disable-option-checking --disable-silent-rules 
--libdir=\${prefix}/lib/x86_64-linux-gnu 
--libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode 
--disable-dependency-tracking --without-included-gettext returned exit code 1
make[1]: *** [debian/rules:34: override_dh_auto_configure] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:6: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

Reply via email to