Source: mdbtools
Version: 1.0.0+dfsg-1.3
Severity: serious
Tags: ftbfs patch upstream
Justification: fails to build from source (but built successfully in the past)
X-Debbugs-Cc: debian-ri...@lists.debian.org
User: debian-ri...@lists.debian.org
Usertags: riscv64
Control: forwarded -1 https://github.com/mdbtools/mdbtools/pull/441

Dear maintainer,

Starting with GCC 14, mdbtools fails to build on a few architectures,
mips64el, ppc64el, riscv64 and s390x for official architectures and
loong64, powerpc, ppc64 for ports architectures:

| odbc.c: In function '_odbc_fix_literals.isra':
| odbc.c:1998:35: error: 'quote_char' may be used uninitialized 
[-Werror=maybe-uninitialized]
|  1998 |                 } else if (quoted && *s==quote_char) {
|       |                            ~~~~~~~^~~~~~~~~~~~~~~~~
| odbc.c:1990:14: note: 'quote_char' was declared here
|  1990 |         char quote_char;
|       |              ^~~~~~~~~~
| libtool: compile:  gcc -DPACKAGE_NAME=\"mdbtools\" 
-DPACKAGE_TARNAME=\"mdbtools\" -DPACKAGE_VERSION=\"1.0.0\" 
"-DPACKAGE_STRING=\"mdbtools 1.0.0\"" 
-DPACKAGE_BUGREPORT=\"https://github.com/mdbtools/mdbtools/issues\"; 
-DPACKAGE_URL=\"https://github.com/mdbtools/mdbtools\"; -DPACKAGE=\"mdbtools\" 
-DVERSION=\"1.0.0\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 
-DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WCHAR_H=1 -DSTDC_HEADERS=1 
-D_ALL_SOURCE=1 -D_DARWIN_C_SOURCE=1 -D_GNU_SOURCE=1 
-D_HPUX_ALT_XOPEN_SOCKET_API=1 -D_NETBSD_SOURCE=1 -D_OPENBSD_SOURCE=1 
-D_POSIX_PTHREAD_SEMANTICS=1 -D__STDC_WANT_IEC_60559_ATTRIBS_EXT__=1 
-D__STDC_WANT_IEC_60559_BFP_EXT__=1 -D__STDC_WANT_IEC_60559_DFP_EXT__=1 
-D__STDC_WANT_IEC_60559_EXT__=1 -D__STDC_WANT_IEC_60559_FUNCS_EXT__=1 
-D__STDC_WANT_IEC_60559_TYPES_EXT__=1 -D__STDC_WANT_LIB_EXT2__=1 
-D__STDC_WANT_MATH_SPEC_FUNCS__=1 -D_TANDEM_SOURCE=1 -D__EXTENSIONS__=1 
-DTLS=_Thread_local -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DYYTEXT_POINTER=1 
-DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 
-DHAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME=1 -DHAVE_LIBREADLINE=1 
-DHAVE_READLINE_READLINE_H=1 -DHAVE_READLINE_HISTORY=1 
-DHAVE_READLINE_HISTORY_H=1 -DHAVE_STRPTIME=1 -DHAVE_FMEMOPEN=1 
-DHAVE_GMTIME_R=1 -DHAVE_VASPRINTF=1 -DHAVE_ATTRIBUTE_ALIAS=1 -DHAVE_ICONV=1 
-DICONV_CONST= -DSIZEOF_LONG_INT=8 -DHAVE_LONG_LONG=1 -DHAVE_ODBCINST_H=1 -I. 
-Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -I/usr/include/glib-2.0 
-I/usr/lib/riscv64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread 
-DHAVE_GLIB=1 -DHAVE_G_MEMDUP2=1 -I/usr/include -g -O2 
-Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security -DSQL -Wall -Werror 
-c odbcw.c -o odbcw.o >/dev/null 2>&1
| cc1: all warnings being treated as errors
| make[3]: *** [Makefile:533: odbc.lo] Error 1
| make[3]: Leaving directory '/<<PKGBUILDDIR>>/src/odbc'
| make[2]: *** [Makefile:388: all-recursive] Error 1
| make[2]: Leaving directory '/<<PKGBUILDDIR>>/src'
| make[1]: *** [Makefile:486: all-recursive] Error 1
| make[1]: Leaving directory '/<<PKGBUILDDIR>>'
| dh_auto_build: error: make -j4 returned exit code 2
| make: *** [debian/rules:5: binary-arch] Error 25
| dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit 
status 2

A full build log is available there:
https://buildd.debian.org/status/fetch.php?pkg=mdbtools&arch=riscv64&ver=1.0.0%2Bdfsg-1.3%2Bb1&stamp=1730341733&raw=0

It appears that on those architectures, GCC 14 is unable to make the
link between the quoted and quote_char variables. A fix has already been
sent as a PR upstream:
https://github.com/mdbtools/mdbtools/pull/441

Regards,
Aurelien

Reply via email to