#1097926 sqliteodbc: ftbfs with GCC-15

#1097926#5
Date:
2025-02-17 17:54:52 UTC
From:
To:
[This bug is NOT 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-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.

The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/sqliteodbc_0.99991-1_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.

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

  apt-get -t=experimental install g++

GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other 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-15/porting_to.html

[...]
sqlite3odbc.c:2153:1: note: 'freerows' declared here
 2153 | freerows(char **rowp)
      | ^~~~~~~~
sqlite3odbc.c: In function 'drvforeignkeys':
sqlite3odbc.c:7668:20: error: assignment to 'void (*)(void)' from incompatible pointer type 'void (*)(char **)' [-Wincompatible-pointer-types]
 7668 |         s->rowfree = freerows;
      |                    ^
sqlite3odbc.c:2153:1: note: 'freerows' declared here
 2153 | freerows(char **rowp)
      | ^~~~~~~~
sqlite3odbc.c:7812:20: error: assignment to 'void (*)(void)' from incompatible pointer type 'void (*)(char **)' [-Wincompatible-pointer-types]
 7812 |         s->rowfree = freerows;
      |                    ^
sqlite3odbc.c:2153:1: note: 'freerows' declared here
 2153 | freerows(char **rowp)
      | ^~~~~~~~
sqlite3odbc.c: In function 'freeresult':
sqlite3odbc.c:13960:13: error: too many arguments to function 's->rowfree'; expected 0, have 1
13960 |             s->rowfree(s->rows);
      |             ^          ~~~~~~~
sqlite3odbc.h:259:12: note: declared here
  259 |     void (*rowfree)();          /**< Free function for rows */
      |            ^~~~~~~
sqlite3odbc.c: In function 'drvtables':
sqlite3odbc.c:14838:20: error: assignment to 'void (*)(void)' from incompatible pointer type 'void (*)(void *)' [-Wincompatible-pointer-types]
14838 |         s->rowfree = sqlite3_free;
      |                    ^
/usr/include/sqlite3.h:3090:17: note: 'sqlite3_free' declared here
 3090 | SQLITE_API void sqlite3_free(void*);
      |                 ^~~~~~~~~~~~
sqlite3odbc.c:14975:24: error: assignment to 'void (*)(void)' from incompatible pointer type 'void (*)(char **)' [-Wincompatible-pointer-types]
14975 |             s->rowfree = sqlite3_free_table;
      |                        ^
/usr/include/sqlite3.h:2964:17: note: 'sqlite3_free_table' declared here
 2964 | SQLITE_API void sqlite3_free_table(char **result);
      |                 ^~~~~~~~~~~~~~~~~~
sqlite3odbc.c: In function 'drvcolumns':
sqlite3odbc.c:15346:16: error: assignment to 'void (*)(void)' from incompatible pointer type 'void (*)(char **)' [-Wincompatible-pointer-types]
15346 |     s->rowfree = freerows;
      |                ^
sqlite3odbc.c:2153:1: note: 'freerows' declared here
 2153 | freerows(char **rowp)
      | ^~~~~~~~
sqlite3odbc.c: In function 'drvgettypeinfo':
sqlite3odbc.c:15921:16: error: assignment to 'void (*)(void)' from incompatible pointer type 'void (*)(void *)' [-Wincompatible-pointer-types]
15921 |     s->rowfree = sqlite3_free;
      |                ^
/usr/include/sqlite3.h:3090:17: note: 'sqlite3_free' declared here
 3090 | SQLITE_API void sqlite3_free(void*);
      |                 ^~~~~~~~~~~~
sqlite3odbc.c: In function 'drvstatistics':
sqlite3odbc.c:16301:16: error: assignment to 'void (*)(void)' from incompatible pointer type 'void (*)(char **)' [-Wincompatible-pointer-types]
16301 |     s->rowfree = freerows;
      |                ^
sqlite3odbc.c:2153:1: note: 'freerows' declared here
 2153 | freerows(char **rowp)
      | ^~~~~~~~
sqlite3odbc.c: In function 'drvexecute':
sqlite3odbc.c:18923:16: error: assignment to 'void (*)(void)' from incompatible pointer type 'void (*)(char **)' [-Wincompatible-pointer-types]
18923 |     s->rowfree = freerows;
      |                ^
sqlite3odbc.c:2153:1: note: 'freerows' declared here
 2153 | freerows(char **rowp)
      | ^~~~~~~~
make[1]: *** [Makefile:98: sqlite3odbc.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/build/reproducible-path/sqliteodbc-0.99991'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

#1097926#14
Date:
2025-09-04 22:23:32 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
sqliteodbc, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1097926@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Chris Hofstaedtler <zeha@debian.org> (supplier of updated sqliteodbc package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Fri, 05 Sep 2025 00:00:03 +0200
Source: sqliteodbc
Architecture: source
Version: 0.99991-3
Distribution: unstable
Urgency: medium
Maintainer: Chris Hofstaedtler <zeha@debian.org>
Changed-By: Chris Hofstaedtler <zeha@debian.org>
Closes: 1097926
Changes:
 sqliteodbc (0.99991-3) unstable; urgency=medium
 .
   * Add patches from Fedora to fix FTBFS with gcc-15 (Closes: #1097926)
   * Update Standards-Version to 4.7.2
Checksums-Sha1:
 f943eddc44104276833b5d673a893fde6801b49f 2374 sqliteodbc_0.99991-3.dsc
 d0bd9631e474422abbca4c0bb160b99c37183823 12624 sqliteodbc_0.99991-3.debian.tar.xz
 f50d73c13faeb71e675a84d7b9b50f9574ab0038 9568 sqliteodbc_0.99991-3_arm64.buildinfo
Checksums-Sha256:
 0a2d9c8296437e3af5056a4b3daaf3730a29f3c6549ce7f13fda2792365a077e 2374 sqliteodbc_0.99991-3.dsc
 088738efddc22863ea810c6504a2259f3cb8140f44bbc7a608733dd33cc564c2 12624 sqliteodbc_0.99991-3.debian.tar.xz
 9f6830c75c3acd680e32d3ff143e4fea2ad7ed800e511b58ee16af2a60867d06 9568 sqliteodbc_0.99991-3_arm64.buildinfo
Files:
 c0263c991cbd2d7303f6291bdc406cac 2374 libs optional sqliteodbc_0.99991-3.dsc
 f64083fb71be5184bcb16c73d6449c82 12624 libs optional sqliteodbc_0.99991-3.debian.tar.xz
 76be7cbfae580c51f463daa1ca840d52 9568 libs optional sqliteodbc_0.99991-3_arm64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfRrP+tnggGycTNOSXBPW25MFLgMFAmi6DK0ACgkQXBPW25MF
LgPCxxAAjlWnZrgvHe3zrVkRqqF/NG3cQpGhnyY01V82wFZJe30g+nLsGI1V2Syj
MLMtDDzZk4Q03mRYMlNs87oevjZfs2X19SDgEy0PiHmC0wMkCEb2Y0VxjiXRIWgw
P00vtGEj1yPFhzvihAQQLe4D1DmFhpyZXfudvlBw9sey8cLx6ZjrR3QCay5/d7lm
styxjVhXHoijE/30YdLkkUoybGfCAVBLnyTyHznn9vm5bUxhcL71gmSP5rKm0fF0
z51idmHijpI2CjGpN1TuSoEurnymR5snpm/qGw65tyPXUP2CgVNjAU65K9v3gbg/
FH8DL45QuoruLNbXsTm9HGZZlIMi8j/vTZhYagePSPDUBX/m+g0CphTiFI9qLXTb
z24ePXYh5I3a9ZiZ8PX6XMyQHnMuMZzx8MrxgtD9MkIOBWnTIsNrb5V4nTMpwl9e
NA3v8TUbYvTx6lnsXI9VmZxZgHZe5uND/po11h+GUZxZs5PEHcXJkEp8YfPisLtE
THOFjqItDR8Ece+hGLpqDBvh7TWsyMWNgRs5CgOyzimKYWG5gdcySY6HmlPWSz9y
wkUEhBFpEphP/cV3AyCBOotrl/POK/0GlcBj40fxVe7Lps5Ygq7LNeEo6MYkUcnT
rBa8jlRF7q/GQ0kLPHZcrvBi3TDadG/9G7Ms4SAAMfHS8m8WTjU=
=MuMP
-----END PGP SIGNATURE-----