compilation of SBCL (sbcl-2.2.0-51-g5b680b490) with ECL (21.2.1) fails on Mingw

Bug #1956876 reported by alexis rivera
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Invalid
Undecided
Unassigned

Bug Description

I failed to compile SBCL version sbcl-2.2.0-51-g5b680b490 using ECL version 21.2.1 on Mingw.
I executed the following command:
sh make.sh --xc-host='/home/ahriv/ecl_build/ecl.exe -norc' --prefix=/e/SBCL/latest_ecl

I get the following error:

;;; Loading "C:/Users/ahriv/Downloads/sbcl_latest/sbcl/obj/from-host/src/compiler/generic/genesis.fasc"

Condition of type: FILE-ERROR
Filesystem error with pathname "obj/from-xc/tls-init.lisp-expr".
Either
 1) the file does not exist, or
 2) we are not allowed to access the file, or
 3) the pathname points to a broken symbolic link.
Available restarts:

1. (ABORT-BUILD) Abort building SBCL.
2. (RESTART-TOPLEVEL) Go back to Top-Level REPL.

Broken at SB-COLD:READ-FROM-FILE. In: #<process TOP-LEVEL 0x1686bd50f80>.
 File: #P"C:/Users/ahriv/Downloads/sbcl_latest/sbcl/src/cold/shared.lisp" (Position #9637)
>>
//testing for consistency of first and second GENESIS passes
//no diffutils, not testing

real 74m29.826s
user 0m0.046s
sys 0m0.091s
//entering make-target-2.sh
//doing warm init - compilation phase
This is SBCL sbcl-2.2.0-51-g5b680b490, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
open: No such file or directory
could not open file "output/cold-sbcl.core"

real 0m9.575s
user 0m0.015s
sys 0m0.061s

This is on windows 64-bit. The uname -a returns
MINGW64_NT-10.0-19043 DESKTOP-603BLJO 3.2.0-340.x86_64 2021-08-02 16:30 UTC x86_64 Msys

This was part of me trying to duplicate an error building SBCL with ECL on Termux. This failure is different. It goes a lot further though.

I will appreciate your guidance in trying to figure this out. Unless it is known that ECL cannot build SBCL.

Attached is a dump.txt file with the log of the compilation process.

Thanks,
Alexis

Tags: ecl mingw
Revision history for this message
alexis rivera (riveraah) wrote :
Revision history for this message
Douglas Katzman (dougk) wrote :

It says that ECL's C stack overflowed. I guess you need to enlarge it.
The ECL doc says this may not be easy: "On Windows, the stack size is set at build time and cannot be changed at runtime."
Also, try building SBCL with the option '--without-sb-unicode' which may help, given that it seems to have crashed on target-unicode.

Revision history for this message
alexis rivera (riveraah) wrote :

Ok. I saw in the log a comment about failing to allocate on stack at 10mb. I'm going to try to recompile ECL that with a stack size of 16mb (without specifying the --without-sb-unicode) and report back.

Revision history for this message
alexis rivera (riveraah) wrote :

I was able to compile SBCL on Mingw (64-bit windows) with ECL using the following settings:

Compiled ECL as follows:
./configure --prefix=/home/ahriv/ecl_build2 LDFLAGS="-Wl,--stack,16777216"

Configured SBCL as follows:
sh make.sh --xc-host='/home/ahriv/ecl_build2/ecl.exe --c-stack 16777216 -norc' --prefix=/e/SBCL/latest_ecl

I'm trying to get the Mingw (32-bit windows) working. I'm getting different errors. I will post a new bug report for that.

Thanks for your help. Now back to Termux.

Douglas Katzman (dougk)
Changed in sbcl:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.