#1149534 mit-scheme: 12.1-7 fails to build on Ubuntu 26.10

#1149534#5
Date:
2026-09-30 11:52:54 UTC
From:
To:
mit-scheme 12.1-6 builds ok on Ubuntu 26.10. But 12.1-7 (and 12.1-2) do not.

I see that there were some significant build system changes in
https://salsa.debian.org/debian/mit-scheme/-/commit/9997d4431c3051
and I haven't tried isolating those changes to determine which patch
or config is responsible.

I see -Werror=lto-type-mismatch in the build log excerpt. Ubuntu build
with LTO enabled by default but Debian doesn't. If that's the cause,
then you could reproduce by adding this to the end of your
DEB_BUILD_MAINT_OPTIONS line:
 optimize=+lto


Build log excerpt
------------------------
tterm.c:72:15: error: type of ‘tparam’ does not match original
declaration [-Werror=lto-type-mismatch]
   72 | extern char * tparam (const char *, void *, int, ...);
      |               ^
terminfo.c:38:1: note: types have different parameter counts
   38 | tparam (const char * string,
      | ^
terminfo.c:38:1: note: ‘tparam’ was previously declared here
sysprim.c:37:13: error: type of ‘OS_set_trap_state’ does not match
original declaration [-Werror=lto-type-mismatch]
   37 | extern long OS_set_trap_state (long);
      |             ^
uxtrap.c:143:1: note: return value type mismatch
  143 | OS_set_trap_state (enum trap_state state)
      | ^
uxtrap.c:143:1: note: type ‘trap_state’ should match type ‘long int’
uxtrap.c:143:1: note: ‘OS_set_trap_state’ was previously declared here
uxtrap.c:143:1: note: code may be misoptimized unless
‘-fno-strict-aliasing’ is used
lto1: all warnings being treated as errors
lto-wrapper: fatal error: x86_64-linux-gnu-gcc returned 1 exit status
compilation terminated.
/usr/bin/x86_64-linux-gnu-ld.bfd: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[6]: *** [Makefile:621: scheme] Error 1
rm cmpauxmd.s


Build log
------------
https://launchpad.net/~jbicha/+archive/ubuntu/arch/+build/33802534
https://launchpad.net/~jbicha/+archive/ubuntu/arch/+build/33802535

Thank you,
Jeremy Bícha

#1149534#10
Date:
2026-09-30 12:25:11 UTC
From:
To:
Okay, I'll look into the LTO deal, check if it is still an issue with
12.1-12 and with the latest upstream development snapshot. But fair
warning: if it's a hassle I'll just disable it, because it won't matter for
performance with the native back-ends, and with the bytecode back-end
you're already giving away ×20 and I doubt LTO will make a difference
because the code's fast-path is already pretty well tuned. Meantime I
suggest you disable LTO in Ubuntu for mit-scheme.

#1149534#15
Date:
2026-09-30 12:35:46 UTC
From:
To:
Yes, the issue still happens with 12.1-12. And yes, I could set this
in Ubuntu or you could set it yourself to disable LTO for Ubuntu:

export DEB_BUILD_MAINT_OPTIONS = hardening=+all optimize=-lto

Notice that this -lto insead of +lto to force disable instead of force enable.

Thank you,
Jeremy Bícha

#1149534#20
Date:
2026-10-01 11:49:30 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
mit-scheme, 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 1149534@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Barak A. Pearlmutter <bap@debian.org> (supplier of updated mit-scheme 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: Thu, 01 Oct 2026 10:46:34 +0100
Source: mit-scheme
Architecture: source
Version: 12.1-13
Distribution: unstable
Urgency: medium
Maintainer: Barak A. Pearlmutter <bap@debian.org>
Changed-By: Barak A. Pearlmutter <bap@debian.org>
Closes: 1149534
Changes:
 mit-scheme (12.1-13) unstable; urgency=medium
 .
   * Fix declaration mismatches detected by LTO (closes: #1149534)
   * Add debian/BENCHMARKS.md and debian/src/benchmarks/, measuring what
     LTO is worth here: about 10% on interpreted code, 2% on compiled
     code, and 1-2ms more startup. Not a strong case for turning it on.
Checksums-Sha1:
 26cbae60593d4809ee7201865abc5a8ac8a17647 2121 mit-scheme_12.1-13.dsc
 ddb7cf6355c0e2999dade157ecf17db345cd3c9c 86944 mit-scheme_12.1-13.debian.tar.xz
 b5e0f9021ff0eebf9a8688f2d0b56ee6ba0dc304 7601 mit-scheme_12.1-13_source.buildinfo
Checksums-Sha256:
 7bb1f09ec717219cb02776fb8d5a5691f2ac1f1f5465f1f8f6de6bdf4c166e5a 2121 mit-scheme_12.1-13.dsc
 fdbb07b0482b42ae9eb78408e3b0ea5a5b1f560d8346960ecf1f61bbeb25c1b4 86944 mit-scheme_12.1-13.debian.tar.xz
 ca039feba5ab6194a86bb5192717b5901ac211af8eb2909c02b9b12a1136df1f 7601 mit-scheme_12.1-13_source.buildinfo
Files:
 da52de27ea1aa2b4847f61ec0ac64dff 2121 lisp optional mit-scheme_12.1-13.dsc
 c83f58c661f54ce9f28ce29d708c3699 86944 lisp optional mit-scheme_12.1-13.debian.tar.xz
 b1825d4b74965a9aefac284f3ad75d27 7601 lisp optional mit-scheme_12.1-13_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iIUEARYKAC0WIQQt5L8FQhB2xHrSA2fGrySQ08pyuQUCar4w7g8cYmFwQGRlYmlh
bi5vcmcACgkQxq8kkNPKcrnKjAEAoxrVxES6IHTqcqHf/KdVFP5zjk1EkXKmhXoD
w54BLW8BAP+H04QcrU/jZxLddlJg2jsZhc2Q+X/SyE/A/bpxiBMM
=nNji
-----END PGP SIGNATURE-----