6
votes

I want to compile and run a lisp source code to parse peercoin blockchain so that i can get top 100 richest addresses. I am using lisp source code https://github.com/glv2/peercoin-blockchain-parser. I have installed quicklisp on my system, but while running the code below error being thrown :

debugger invoked on a LOAD-SYSTEM-DEFINITION-ERROR in thread #<THREAD "main thread" RUNNING {1002A8AF63}>: 
Error while trying to load definition for system bordeaux-threads from
pathname /home/deepchand/quicklisp/dists/quicklisp/software/bordeaux-threads-v0.8.5/bordeaux-threads.asd: 
READ error during COMPILE-FILE: 
You need ASDF >= 3.1 to load this system correctly.
(in form starting at line: 1, column: 0, file-position: 0)

How do i update asdf to resolve this error ?

3
Please provide the result of (lisp-implementation-type) and (lisp-implementation-version) when you have such errors.coredump
@coredump Result : (lisp-implementation-type) "SBCL" 0] (lisp-implementation-version) "1.1.14.debian" 0]John
I would suggest just to get a newer version of SBCL (1.3.20). But I would still want the answer to this question though :)mobiuseng

3 Answers

0
votes

For other lisp implementations, say LispWorks, you can solve this problem by downloading asdf.lisp 3.1 or later from the asdf website and then putting

(load "asdf.lisp")

in your initialization file prior to loading quicklisp. LispWorks[1] recommends you also do

(provide "asdf")

Worked for me.

[1] http://www.lispworks.com/documentation/lw61/LW/html/lw-312.htm

0
votes

See https://common-lisp.net/project/asdf/asdf.html#Upgrading-ASDF

You can

download an official tarball or checkout a release from git into ~/common-lisp/asdf/.

Then it should be found on start-up. I think that's all (I did it recently and don't remember other steps).

0
votes

The following worked for me.

  1. Download the version of asdf.lisp you want from https://common-lisp.net/project/asdf/asdf.html. In my case, I copied mine from my system's installed copy located at /usr/share/common-lisp/source

  2. Put the new copy in the ~/quicklisp directory, or whichever directory your quicklisp is located, overwriting the old asdf.lisp in that directory.

  3. Delete the ~/quicklisp/cache directory.

  4. Restart your lisp. It will take a while to repopulate the ~/quicklisp/cache directory so be patient.