#56 Cannot use CLOCC with SBCL

closed-fixed
cllib (10)
5
2011-07-13
2010-10-19
Anonymous
No

I've tried the current snapshot from the repository with both SBCL 1.0.29.11.debian (Ubuntu 10.04) and 1.0.43-x86-64-linux (binary from SBCL project). Following the instructions for Lisp-only:
* Lisp-only

;; * compile base files
(in-package :cl-user)
(setq *clocc-root* "c:/gnu/clocc/") ; or whatever ...
(compile-file (concatenate 'string *clocc-root* "clocc"))
(load *)
(compile-file (translate-logical-pathname "clocc:src;defsystem;defsystem"))
(load *)

;; * compile some systems
(dolist (l '("clocc:src;port;" "clocc:src;cllib;" "clocc:src;ext;queues;"
"clocc:src;port;configuration;" "clocc:src;port;environment;"
"clocc:src;ext;union-find;" "clocc:src;tools;metering;"
"clocc:src;f2cl;" "clocc:src;f2cl;packages;"))
(mk:add-registry-location (translate-logical-pathname l)))
(mk:oos "cllib" :compile)
(mk:oos "f2cl" :compile)
...

I can get down to the (mk:oos "cllib" :compile), at which point I encounter an error about sb-unix:unix-file-kind. After changing sb-unix:unix-file-kind to sb-impl::native-file-kind, it proceeds further but then gets stuck with the following:

CLLIB/NEW-SOURCE-AND-DEPENDENTS (0 files) totals 0 bytes (0 kB)
debugger invoked on a UNBOUND-VARIABLE in thread #<THREAD "initial thread" RUNNING {1002A5A011}>:
The variable +BETA-ALGO-GO+ is unbound.

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

restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.

((SB-C::TOP-LEVEL-FORM (SYMBOL-VALUE '+BETA-ALGO-GO+)))[:TOPLEVEL]
0]

I'm not seeing why this is a problem in SBCL and not in CLISP (in which I can build it successfully).

Discussion

  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here

    Anonymous - 2010-10-20

    Update: I was able to get things to work by three changes:
    1. replacing sb-unix:unix-file-kind with sb-impl::native-file-kind in src/port/path.lisp, line 70
    2. removing the (eval-when ...) from the defconst +beta-algo-go+ in src/cllib/rng.lisp, around line 1605 (I'm sure this is not the right thing to do but it should point in the right direction)
    3. creating a link called clhs-ent.xml in *clocc-root*/etc (I pointed it to clhs-ent-long.xml, but I have no idea what I'm doing)

    Hopefully from the above, someone can create a patch. Thanks!

     
  • Sam Steingold

    Sam Steingold - 2011-07-13
    • labels: --> cllib
    • assigned_to: nobody --> sds
    • status: open --> closed-fixed
     
  • Sam Steingold

    Sam Steingold - 2011-07-13

    both bugs are fixed in hg.
    I don't see why you need the clhs ent symlink.
    thanks.

     

Log in to post a comment.