MCCLIM : SYSTEM-AREA-UB8-FILL ?

Bug #1937134 reported by JVD
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
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  Edit
Everyone can see this information.

Other bug subscribers