SBCL cross compile fails for riscv64 on OpenBSD
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
New
|
Undecided
|
Unassigned |
Bug Description
Hi,
I try to cross compile SBCL for the riscv64 architecture and use a VisionFive 2 with OpenBSD as a target system. Started it like so:
./cross-make.sh sync root@vf2 /usr/local/sbcl SBCL_ARCH=riscv64
Maybe someone can help to make it work, please?
Thanks!
-------
+ sh make-host-1.sh
//entering make-host-1.sh
//building cross-compiler, and doing first genesis
This is SBCL 2.3.6, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://
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.
* T
* target SB-XC:*FEATURES* = (:RISCV :GENCGC :64-BIT :ANSI-CL :ANSI-COMPLIANT
; Installed READ interceptor
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.018
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.003
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.001
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.007
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.027
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.006
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.020
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.010
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.037
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.002
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.242
//CROSS-FLOAT DISCREPANCY!
// CACHE: (COMMON-LISP:EXP . #.(MAKE-
// HOST : (2.718281828459
; Float-ops cache prefill: 4315 entries
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.006
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.046
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.000
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.001
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.001
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.003
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.026
; compiling file "/usr/local/
; wrote /usr/local/
; compilation finished in 0:00:00.011
; compiling file "/usr/local/
; file: /usr/local/
; in: DEFCONSTANT +BACKEND-
; (DEFCONSTANT SB-C:+BACKEND-
;
; caught ERROR:
; (during macroexpansion of (DEFCONSTANT +BACKEND-
; Error while parsing arguments to DEFMACRO DEFCONSTANT:
; too few elements in
; (+BACKEND-
; to satisfy lambda list
; (NAME VALUE &OPTIONAL (DOC)):
; between 2 and 3 expected, but got 1
While evaluating the form starting at line 124, column 0
of #P"/usr/
debugger invoked on a UNBOUND-VARIABLE @21B59F64 in thread
#<THREAD "main thread" RUNNING {1005960073}>:
The variable +BACKEND-
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-
0: [CONTINUE ] Retry using +BACKEND-
1: [USE-VALUE ] Use specified value.
2: [STORE-VALUE] Set specified value and use it.
3: [RECOMPILE ] Recompile file "src/compiler/
4: Recompile
5: [RETRY ] Retry EVAL of current toplevel form.
6: Ignore error and continue loading file "/usr/local/
7: [ABORT ] Abort loading file "/usr/local/
8: [ABORT-BUILD] Abort building SBCL.
9: Exit debugger, returning to top level.
This would have to be a considered a new port, for which it's unlikely that any developer has time to help make it work.
You could try changing (at that line which failed, if not others as well) "#+netbsd" to "#+(or netbsd openbsd)", but if you're really feeling brave, just "#+bsd" and hope they all work.