|
From: | Schnoering Gabriel |
Subject: | Re: MIT Scheme 11.1 fails to build because of Werror |
Date: | Wed, 3 Feb 2021 12:33:08 +0100 |
User-agent: | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 |
Dear Taylor,
I have ncurses and the related headers installed.
I tried the procedure again with an older gcc (7) for the same result (Werror complaints).
I also tried on Arch linux and it worked fine, without build errors.
I finally got mit-scheme-11 REPL to start on Gentoo by taking the
prebuilt version (mit-scheme-11.1-x86-64.tar.gz) and skipping
Werror during the build. Looks like some headers issues combined
with the very old C code of these two files and compiler
configuration.
scmutils doesn't run on the new version though.
Bad compiled-code version in FASL File:
mit-scheme-x86-64-11.1/mechanics.com
File has: compiled-code interface 3; architecture 14.
Expected: compiled-code interface 4; architecture 14.
Microcode Error: No error handlers.
Error code 0x3a (fasload-compiled-mismatch)
I will stick to the older version for now.
Best,
Gabriel
Date: Mon, 1 Feb 2021 13:30:00 +0100 From: Gabriel Schnoering <gabriel.schnoering@gmail.com> At first the package doesn't compile with gcc 10.2 (I guess it would be similar with previous versions) because of Werror in the microcode/ folder and in particular termcap.c. Some of the issues reported are quite serious I guess such as casting a 64 bits pointer into a 32 bits int.Try installing ncurses, termcap, or curses (development headers and libraries)? (We should maybe just get rid of the ancient compatibility termcap.c, and either make termcap/curses mandatory or kick it out of the microcode into a plugin, so people stop tripping over this.)When I skip Werror from the configure.ac/Makefile files it does build but fails later building make.com.To build 11.1 from 10.x, you need to do a cross-build, even if you're building for x86 on x86: cd mit-scheme-11.1/src ./configure --enable-cross-compiling --enable-native-code=x86-64 make make install (This is because the compiled code ABI changed, so old .com files can't be run by new Schemes and vice versa.)
[Prev in Thread] | Current Thread | [Next in Thread] |