Thank you Maxime for your explanation! I suspected as much, but could not find any information regarding which hardware platforms and operating systems are supported by Guile. :-)
> As you just demonstrated, ‘Sparc is dead’ is false, so this should be > reverted. Actually, we are investigating ways of migrating away from Solaris to Linux and at the same time modernize our build system. The reason for our interest in Guile is that GNU Make allows Guile to be used to extend GNU Make with new functionality. And IMHO I have to concur with the author of the commit removing SPARC support from Guile, although it is a pity that it happened before we were able to migrate away from Solaris SPARC. ;-) -----Original Message----- From: Maxime Devos <maximede...@telenet.be> Sent: den 30 maj 2023 00:29 To: Olsson John <john.ols...@saabgroup.com>; guile-user@gnu.org Subject: [EXTERNAL] Re: Problems compiling Guile for Solaris 11.4 SPARC Op 23-05-2023 om 15:28 schreef Olsson John via General Guile related discussions: > Hi! > > I'm trying to compile Guile 3.0.8 for Solaris 11.4 and I get a core > dump for STAGE0. The output I get is this (paths to build folder has > been adjusted to hide my username) > > Making all in stage0 > make[2]: Entering directory 'guile-3.0.8/stage0' > GUILE_BOOTSTRAP_STAGE=stage0 ../meta/build-env guild compile > --target="sparc-sun-solaris2.11" -W0 -O1 -L "guile-3.0.8/module" -o > "ice-9/eval.go" "../module/ice-9/eval.scm" > Pre-boot error; key: (#f "Wrong type to apply: ~S" (#f) (#f) (#f)) > make[2]: Leaving directory 'guile-3.0.8/stage0' > make[1]: *** [Makefile:2061: all-recursive] Error 1 > make[1]: Leaving directory 'guile-3.0.8' > make: *** [Makefile:1947: all] Error 2 > > Any ideas on what is going wrong? > > $ uname -a > SunOS fnord 5.11 11.4.56.138.2 sun4v sparc sun4v non-global-zone 1. Guile 3.0.8 is out-of-date, best update to 3.0.9. 2. Sparc support was removed in: commit 570f361c6c8308ddc574d6308b50263175cae59e Author: Andy Wingo <wi...@igalia.com> Date: Wed May 8 21:41:46 2019 +0200 Remove Sparc support Sadly, this is a dead architecture, without an official Debian port. Rest in peace! As you just demonstrated, ‘Sparc is dead’ is false, so this should be reverted. (That's only the JIT though (not the (p-code) interpreter), so that won't solve your problem; I recommend delaying this until later.) 3. Unfortunately no backtrace is available. Perhaps you could run GUILE_BOOTSTRAP_STAGE=stage0 ../meta/build-env guild compile --target="sparc-sun-solaris2.11" -W0 -O1 -L "guile-3.0.8/module" -o "ice-9/eval.go" "../module/ice-9/eval.scm" under the gdb or the like (with a break on scm_throw) to see if the backtrace in gdb is informative. That's the C backtrace, not the Scheme backtrace, so it might be rather unclear. To avoid this, you could modify scm_throw to run scm_backtrace() after scm_puts ("Pre-boot error; key: ", port); scm_write (key, port); scm_puts (", args: ", port); scm_write (args, port); . I don't know if scm_backtrace is functional in pre-boot, though. Best regards, Maxime Devos.