Bug#1097291: libxsmm: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:34:29 GMT 2025


Package: src:libxsmm
Version: 1.17-4
Severity: important
Tags: sid forky
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-15

[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/libxsmm_1.17-4_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

[...]
/build/reproducible-path/libxsmm-1.17/./scripts/libxsmm_config.py:92: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
  build_date = datetime.datetime.utcfromtimestamp(
make[1]: Leaving directory '/build/reproducible-path/libxsmm-1.17'
make[1]: Entering directory '/build/reproducible-path/libxsmm-1.17'
gcc   -fPIC -Wall -O2 -fdata-sections -ffunction-sections -fvisibility=hidden -pthread -frelease -DNDEBUG -D__STATIC=1 -DLIBXSMM_BUILD=2 -Iinclude -I./src -D__BLAS=0  -c ./src/libxsmm_ext.c -o obj/intel64/libxsmm_noblas.o
cc1: warning: command-line option ‘-frelease’ is valid for D but not for C
./src/libxsmm_ext.c: In function ‘dgemm_batch_’:
./src/libxsmm_ext.c:182:3: error: too many arguments to function ‘internal_noblas_error((const char *)"dgemm_batch")’; expected 0, have 15
  182 |   internal_noblas_error("dgemm_batch")(transa_array, transb_array, m_array, n_array, k_array,
      |   ^~~~~~~~~~~~~~~~~~~~~                ~~~~~~~~~~~~
./src/libxsmm_ext.c: In function ‘sgemm_batch_’:
./src/libxsmm_ext.c:196:3: error: too many arguments to function ‘internal_noblas_error((const char *)"sgemm_batch")’; expected 0, have 15
  196 |   internal_noblas_error("sgemm_batch")(transa_array, transb_array, m_array, n_array, k_array,
      |   ^~~~~~~~~~~~~~~~~~~~~                ~~~~~~~~~~~~
./src/libxsmm_ext.c: In function ‘dgemm_’:
./src/libxsmm_ext.c:209:3: error: too many arguments to function ‘internal_noblas_error((const char *)"dgemm")’; expected 0, have 13
  209 |   internal_noblas_error("dgemm")(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc);
      |   ^~~~~~~~~~~~~~~~~~~~~          ~~~~~~
./src/libxsmm_ext.c: In function ‘sgemm_’:
./src/libxsmm_ext.c:222:3: error: too many arguments to function ‘internal_noblas_error((const char *)"sgemm")’; expected 0, have 13
  222 |   internal_noblas_error("sgemm")(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc);
      |   ^~~~~~~~~~~~~~~~~~~~~          ~~~~~~
./src/libxsmm_ext.c: In function ‘dgemv_’:
./src/libxsmm_ext.c:233:3: error: too many arguments to function ‘internal_noblas_error((const char *)"dgemv")’; expected 0, have 11
  233 |   internal_noblas_error("dgemv")(trans, m, n, alpha, a, lda, x, incx, beta, y, incy);
      |   ^~~~~~~~~~~~~~~~~~~~~          ~~~~~
./src/libxsmm_ext.c: In function ‘sgemv_’:
./src/libxsmm_ext.c:242:3: error: too many arguments to function ‘internal_noblas_error((const char *)"sgemv")’; expected 0, have 11
  242 |   internal_noblas_error("sgemv")(trans, m, n, alpha, a, lda, x, incx, beta, y, incy);
      |   ^~~~~~~~~~~~~~~~~~~~~          ~~~~~
make[1]: [Makefile:792: obj/intel64/libxsmm_noblas.o] Error 1 (ignored)
--------------------------------------------------------------
In case of assembler error, perhaps GNU Binutils are outdated.
See https://github.com/hfp/libxsmm#outdated-binutils
--------------------------------------------------------------
make[1]: *** [Makefile:793: obj/intel64/libxsmm_noblas.o] Error 1
make[1]: Leaving directory '/build/reproducible-path/libxsmm-1.17'
make[1]: *** Waiting for unfinished jobs....
make[1]: Entering directory '/build/reproducible-path/libxsmm-1.17'
gfortran -frelease -DNDEBUG -D__STATIC=1 -DLIBXSMM_BUILD=2 -Iinclude -I./src  -fPIC -ffree-form -O2 -fdata-sections -ffunction-sections  -c include/libxsmm.f -o obj/intel64/libxsmm-mod.o -J include
f951: Warning: command-line option ‘-frelease’ is valid for D but not for Fortran
make[1]: Leaving directory '/build/reproducible-path/libxsmm-1.17'
make[1]: Entering directory '/build/reproducible-path/libxsmm-1.17'
gcc  -frelease -DNDEBUG -D__STATIC=1 -DLIBXSMM_BUILD=2 -Iinclude -I./src   -fPIC -Wall -O2 -fdata-sections -ffunction-sections -fvisibility=hidden -pthread  -c ./src/libxsmm_hash.c -o  obj/intel64/libxsmm_hash.o
cc1: warning: command-line option ‘-frelease’ is valid for D but not for C
make[1]: Leaving directory '/build/reproducible-path/libxsmm-1.17'
make[1]: Entering directory '/build/reproducible-path/libxsmm-1.17'
gcc  -frelease -DNDEBUG -D__STATIC=1 -DLIBXSMM_BUILD=2 -Iinclude -I./src   -fPIC -Wall -O2 -fdata-sections -ffunction-sections -fvisibility=hidden -pthread  -c ./src/libxsmm_sync.c -o  obj/intel64/libxsmm_sync.o
cc1: warning: command-line option ‘-frelease’ is valid for D but not for C
make[1]: Leaving directory '/build/reproducible-path/libxsmm-1.17'
make[1]: Entering directory '/build/reproducible-path/libxsmm-1.17'
gcc  -frelease -DNDEBUG -D__STATIC=1 -DLIBXSMM_BUILD=2 -Iinclude -I./src   -fPIC -Wall -O2 -fdata-sections -ffunction-sections -fvisibility=hidden -pthread  -c ./src/libxsmm_memory.c -o  obj/intel64/libxsmm_memory.o
cc1: warning: command-line option ‘-frelease’ is valid for D but not for C
make[1]: Leaving directory '/build/reproducible-path/libxsmm-1.17'
make[1]: Entering directory '/build/reproducible-path/libxsmm-1.17'
gcc  -frelease -DNDEBUG -D__STATIC=1 -DLIBXSMM_BUILD=2 -Iinclude -I./src   -fPIC -Wall -O2 -fdata-sections -ffunction-sections -fvisibility=hidden -pthread  -c ./src/libxsmm_math.c -o  obj/intel64/libxsmm_math.o
cc1: warning: command-line option ‘-frelease’ is valid for D but not for C
make[1]: Leaving directory '/build/reproducible-path/libxsmm-1.17'
make[1]: Entering directory '/build/reproducible-path/libxsmm-1.17'
gcc  -frelease -DNDEBUG -D__STATIC=1 -DLIBXSMM_BUILD=2 -Iinclude -I./src   -fPIC -Wall -O2 -fdata-sections -ffunction-sections -fvisibility=hidden -pthread  -c ./src/libxsmm_malloc.c -o  obj/intel64/libxsmm_malloc.o
cc1: warning: command-line option ‘-frelease’ is valid for D but not for C
make[1]: Leaving directory '/build/reproducible-path/libxsmm-1.17'
make[1]: Entering directory '/build/reproducible-path/libxsmm-1.17'
gcc  -frelease -DNDEBUG -D__STATIC=1 -DLIBXSMM_BUILD=2 -Iinclude -I./src -Iobj  -fPIC -Wall -O2 -fdata-sections -ffunction-sections -fvisibility=hidden -pthread  -c ./src/libxsmm_main.c -o  obj/intel64/libxsmm_main.o
cc1: warning: command-line option ‘-frelease’ is valid for D but not for C
make[1]: Leaving directory '/build/reproducible-path/libxsmm-1.17'
make[1]: Leaving directory '/build/reproducible-path/libxsmm-1.17'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" returned exit code 2
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the debian-science-maintainers mailing list