jzon icon indicating copy to clipboard operation
jzon copied to clipboard

Compilation under CMUCL

Open fosskers opened this issue 4 months ago • 4 comments

I got this recent release to compile, and started testing everything with it. While trying to run the transducers tests, it was failing to compile jzon due to this fun error:

Error in function LISP::ASSERT-ERROR:
   The assertion (NOT (EQ C::CHECK T)) failed.
   [Condition of type SIMPLE-ERROR]

Restarts:
 0: [CONTINUE] Retry assertion.
 1: [RETRY] Retry compiling #<CL-SOURCE-FILE "com.inuoe.jzon" "src" "jzon">.
 2: [ACCEPT] Continue, treating compiling #<CL-SOURCE-FILE "com.inuoe.jzon" "src" "jzon"> as having been successful.
 3: [RETRY] Retry ASDF operation.
 4: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration.
 5: [ABORT] Abort compilation.
 --more--

Backtrace:
 0: (LISP::ASSERT-ERROR (NOT (EQ C::CHECK T)) NIL NIL)
 1: (C::FUNCTION-CONTINUATION-TN #<C::COMBINATION #x6097E555  FUN= #<C::REF #x6079D79D  LEAF= #<C::LAMBDA-VAR 6078D0CD>>  ARGS= NIL> ..)
 2: (C::IR2-CONVERT-FIXED-FULL-CALL #<C::COMBINATION #x6097E555  FUN= #<C::REF #x6079D79D  LEAF= #<C::LAMBDA-VAR 6078D0CD>>  ARGS= NIL> ..)
 3: (C::IR2-CONVERT-FULL-CALL #<C::COMBINATION #x6097E555  FUN= #<C::REF #x6079D79D  LEAF= #<C::LAMBDA-VAR 6078D0CD>>  ARGS= NIL> ..)
 4: (C::IR2-CONVERT-BLOCK #<C::CBLOCK Start = c2 {6078D385}>)
 5: (C:IR2-CONVERT #<C:COMPONENT #x6097B32D  NAME= "DEFUN %SKIP-CPP-COMMENT">)

... etc. Any ideas?

fosskers avatar Aug 17 '25 10:08 fosskers

Nothing comes to mind.. I'm not familiar with cmucl, but from those errors it doesn't seem like there's much to go on unfortunately. Do you know if it cl:load's okay? That'd help figure out if it's purely a compiler issue or a code issue on CMUCL

Zulu-Inuoe avatar Aug 22 '25 02:08 Zulu-Inuoe

This appears to work:

#+nil
(progn
  (asdf:load-system :flexi-streams)
  (asdf:load-system :float-features)
  (asdf:load-system :closer-mop))

#+nil
(progn
  (load "src/eisel-lemire.lisp")
  (load "src/ratio-to-double.lisp")
  (load "src/schubfach.lisp"))

#+nil
(load "src/jzon.lisp")

fosskers avatar Aug 22 '25 23:08 fosskers

One thing I didn't include in the original trace was that if I try to asdf:load-system :com.inuoe.jzon, it's clear that it's trying to "natively compile":

 6: (C::NATIVE-COMPILE-COMPONENT #<C:COMPONENT #x6000672D  NAME= "DEFUN %SKIP-CPP-COMMENT">)

fosskers avatar Aug 22 '25 23:08 fosskers

https://gitlab.common-lisp.net/cmucl/cmucl/-/issues/436

fosskers avatar Aug 22 '25 23:08 fosskers