MCCLIM : SYSTEM-AREA-UB8-FILL ?

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

Bug Description

Having followed Bug #1930309 , in trying to do:
  (ql:quickload "mcclim")
, on sbcl-2.1.6 linux x86_64 (Fedora 34), which I built
by modifying Fedora SRPM SPEC file to build 2.1.6 (no patches applied),
I at first got the error assembling MOVZX reported in Bug #19330309 ,
and then I built and installed the nibbles-master GIT zip,
and now I get a different error when attempting to build MCCLIM :

* (ql:quickload "3bz")
To load "3bz":
  Load 1 ASDF system:
    3bz
; Loading "3bz"
..................................................
[package 3bz].....................................
.............
("3bz")
* (ql:quickload "mcclim")
To load "mcclim":
  Load 1 ASDF system:
    mcclim
; Loading "mcclim"
..................................................
[package parse-float].............................
[package static-vectors];
; caught ERROR:
; READ error during COMPILE-FILE:
;
; Symbol "SYSTEM-AREA-UB8-FILL" not found in the SB-KERNEL package.
;
; Line: 12, Column: 33, File-Position: 361
;
; Stream: #<SB-INT:FORM-TRACKING-STREAM for "file /usr/share/common-lisp/quicklisp/dists/quicklisp/software/static-vectors-v1.8.6/src/impl-sbcl.lisp" {100701ABA3}>

debugger invoked on a UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread
#<THREAD "main thread" RUNNING {10015382C3}>:
  COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE "static-vectors" "impl">

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [RETRY ] Retry
                                     compiling #<CL-SOURCE-FILE "static-vectors" "impl">.
  1: [ACCEPT ] Continue, treating
                                     compiling #<CL-SOURCE-FILE "static-vectors" "impl">
                                     as having been successful.
  2: Retry ASDF operation.
  3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
                                     configuration.
  4: Retry ASDF operation.
  5: Retry ASDF operation after resetting the
                                     configuration.
  6: [ABORT ] Give up on "mcclim"
  7: [REGISTER-LOCAL-PROJECTS ] Register local projects and try again.
  8: Exit debugger, returning to top level.

(UIOP/LISP-BUILD:CHECK-LISP-COMPILE-RESULTS NIL T T "~/asdf-action::format-action/" ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "static-vectors" "impl">)))
   source: (ERROR 'COMPILE-FILE-ERROR :CONTEXT-FORMAT CONTEXT-FORMAT
                  :CONTEXT-ARGUMENTS CONTEXT-ARGUMENTS)
0] (quit)
;
; compilation unit aborted
; caught 2 fatal ERROR conditions
; caught 1 ERROR condition

It seems that MCCLIM is expecting this SYSTEM-AREA-UB8-FILL function in
SBCL - any idea what it did ?

Has anyone got MCCLIM running under X-Windows + Linux + recent SBCL ?

Revision history for this message
JVD (jason-vas-dias) wrote :

 (apropos "SYSTEM-AREA") yielded:

   SB-KERNEL:SYSTEM-AREA-UB8-COPY

 Can I replace the call in static-vectors-v1.8.6/src/impl-sbcl.lisp:
  (sb-kernel:system-area-ub8-fill value pointer 0 length)
 with one to SYSTEM-AREA-UB8-COPY ?

 will try.

Revision history for this message
JVD (jason-vas-dias) wrote :

Yes, that did it! A lucky guess.
This patch, and use of nibbles-master, allows '(ql:quickload "mcclim")'
to succeed:

$ diff -U1 static-vectors-v1.8.6/src/impl-sbcl.lisp~ static-vectors-v1.8.6/src/impl-sbcl.lisp
--- static-vectors-v1.8.6/src/impl-sbcl.lisp~ 2021-07-21 20:03:38.949732398 +0100
+++ static-vectors-v1.8.6/src/impl-sbcl.lisp 2021-07-21 23:32:33.504611756 +0100
@@ -11,3 +11,3 @@
   (declare (sb-ext:muffle-conditions sb-ext:compiler-note))
- (sb-kernel:system-area-ub8-fill value pointer 0 length)
+ (sb-kernel:system-area-ub8-copy value 0 pointer 0 length)
   pointer)

Revision history for this message
Stas Boukarev (stassats) wrote :

static-vectors is already updated for this change.

Changed in sbcl:
status: New → Invalid
Revision history for this message
Douglas Katzman (dougk) wrote :

Also note that ub8-fill is not at all the same as ub8-copy.
-fill is memset(), -copy is memcpy().

Revision history for this message
JVD (jason-vas-dias) wrote :

Then where is system-area-ub8-fill ?

Why remove it ?

OK, I guess the correct resolution is to download
& build latest version of static-vectors .

Why didn't quicklisp update 'static-vectors' then?

I now realize I should have done a
  (ql:update-dist "quicklisp")
to update all out-of-date packages - sorry.

Actually, the MCCLIM:CLIM-EXAMPLES:demodemo worked well
with my change above . MCCLIM is impressive!

I want to work on (& use!) a CLIM compliant FLTK CL module / FLTK
+ XWayland / OpenGL backend to MCCLIM, amongst other projects -
"CLIM-FLTK" - SB-ALIEN's FFI capabilities are great ! FLTK works
great on Linux, Windows, Mac OS X ...

RE:
  > Also note that ub8-fill is not at all the same as ub8-copy.

Where is SB-KERNEL module documentation ?
I guess just reading the source code & (describe 'SB-KERNEL:*) ?
I'd like to understand it better. Are there any documents on it?

Thanks for all replies.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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