#1075518 smlnj: ftbfs with GCC-14

Package:
src:smlnj
Source:
src:smlnj
Submitter:
Matthias Klose
Date:
2025-08-11 15:24:28 UTC
Severity:
normal
Tags:
#1075518#5
Date:
2024-07-03 12:44:21 UTC
From:
To:
[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/smlnj_110.79-8_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

[...]
LANG=C.UTF-8
LC_ALL=C.UTF-8
LOGNAME=user42
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
SCHROOT_ALIAS_NAME=unstable
SCHROOT_CHROOT_NAME=sid-amd64-sbuild
SCHROOT_COMMAND=env
SCHROOT_GID=1001
SCHROOT_GROUP=user42
SCHROOT_SESSION_ID=sid-amd64-sbuild-9f86a77e-3eea-444a-8a6e-7f6f63721bba
SCHROOT_UID=1001
SCHROOT_USER=user42
SHELL=/bin/sh
USER=user42

dpkg-buildpackage
-----------------

Command: dpkg-buildpackage --sanitize-env -us -uc -b -rfakeroot
dpkg-buildpackage: info: source package smlnj
dpkg-buildpackage: info: source version 110.79-8
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Barak A. Pearlmutter <bap@debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
 debian/rules clean
dh_testdir
dh_testroot
rm -f *-stamp
rm -rf /<<PKGBUILDDIR>>/build-dir
rm -f vars.sed
rm -f arch-n-opsys
rm -f boot*tgz
rm -rf /<<PKGBUILDDIR>>/build-dir/src/system/foo.* /<<PKGBUILDDIR>>/build-dir/src/system/sml.*
rm -rf sml.boot.*
dh_clean
 debian/rules binary
mkdir -p /<<PKGBUILDDIR>>/build-dir
for d in $(ls -A | grep -v -e debian -e build-dir); do cp -a $d /<<PKGBUILDDIR>>/build-dir; done
cp debian/targets build-dir/config/targets
/usr/bin/make -f debian/rules smlnj
make[1]: Entering directory '/<<PKGBUILDDIR>>'
echo "s,@SHELL@,/bin/sh,g" > vars.sed
echo "s,@SMLNJ_HOME@,/usr/lib/smlnj," >> vars.sed
echo "s,@BINDIR@,/usr/lib/smlnj/bin," >> vars.sed
echo "s,@VERSION@,110.79," >> vars.sed
cat /<<PKGBUILDDIR>>/build-dir/config/_arch-n-opsys | sed -f vars.sed > arch-n-opsys
chmod 777 arch-n-opsys
eval `./arch-n-opsys` && /usr/bin/make -f debian/rules boot.$ARCH-unix.tgz;
make[2]: Entering directory '/<<PKGBUILDDIR>>'
for f in ckit cml config doc eXene heap2asm ml-burg ml-lex ml-lpt MLRISC ml-yacc nlffi pgraph smlnj-c smlnj-lib trace-debug-profile; do cp -a $f /<<PKGBUILDDIR>>/build-dir/bootstrap; done
mkdir -p /<<PKGBUILDDIR>>/build-dir/bootstrap/base
for f in cm compiler old-basis runtime system; do cp -a base/$f /<<PKGBUILDDIR>>/build-dir/bootstrap/base; done
cd /<<PKGBUILDDIR>>/build-dir/bootstrap && URLGETTER=/bin/false ./config/install.sh
./config/install.sh: Using shell /bin/sh.
./config/install.sh: SML root is /<<PKGBUILDDIR>>/build-dir/bootstrap.
./config/install.sh: Installation directory is /<<PKGBUILDDIR>>/build-dir/bootstrap.
./config/install.sh: Installing version 110.79.
./config/install.sh: URL of source archive is http://smlnj.cs.uchicago.edu/dist/working/110.79/.
./config/install.sh: Script /<<PKGBUILDDIR>>/build-dir/bootstrap/bin/.arch-n-opsys reports ARCH=x86; OPSYS=linux; HEAP_SUFFIX=x86-linux.
/tmp/smlConfig-1708868.c:1:1: error: return type defaults to ‘int’ [-Wimplicit-int]
    1 | w3E_4Ew3E_4Rrr_56TtT () {}
      | ^~~~~~~~~~~~~~~~~~~~
./config/install.sh: !!! Problems checking for underscores in asm names.
make[2]: *** [debian/rules:43: /<<PKGBUILDDIR>>/build-dir/bootstrap/bin/sml] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [debian/rules:56: boot] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:77: build-arch-stamp] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2