Updating to ASDF 3.x in CLISP

别等时光非礼了梦想. 提交于 2019-12-05 15:30:19

1- To generate asdf.lisp from source, type make in the asdf git checkout.

2- (load (compile-file ...)) will recompile it every time. You probably want to only compile it once, then overwrite whichever fasl is usually used with it.

3- If you get asdf from quicklisp, as I suppose you do, just replace its obsolete ~/quicklisp/asdf.lisp 2.26 by your asdf.lisp 3.2.1, then blow away the cache in ~/quicklisp/cache/

4- Please complain to Xach about upgrading its asdf to 3.1.7 or 3.2.1. Quicklisp is doing lispers a disservice by distributing 2.26.

informatimago

asdf itself is self-updatable. You only have to load the latest version.

http://paste.lisp.org/display/350703

So basically, you download an asdf 3 somewhere, say ~/rc/asdf.lisp and in your ~/.clisprc.lisp you put:

(load #P"~/quicklisp/setup.lisp")        ; will load asdf 2.26
(load (compile-file #P"~/rc/asdf.lisp")) ; will load asdf 3 over asdf 2.26.

Basically, all you need to do is replace 2.6 with 3.2.

Find out where asdf.lisp 2.6 resides.

You can do (load "asdf") or (require "asdf") and see where it is being loaded from. Let the path be my/asdf/directory/asdf.lisp.

Replace the file.

wget https://common-lisp.net/project/asdf/archives/asdf.lisp -O my/asdf/directory/asdf.lisp

Compile the new asdf

clisp -norc -c my/asdf/directory/asdf.lisp

OK, I finally got it, it was a combination of the two answers above. First, I don't have wget in my system, but I downloaded the file https://common-lisp.net/project/asdf/archives/asdf.lisp manually and saved it in the right path. Then added the two lines

(load #P"~/quicklisp/setup.lisp")        ; will load asdf 2.26
(load (compile-file #P"~/rc/asdf.lisp")) ; will load asdf 3 over asdf 2.26.

to the file ~/.clisprc.lisp Now, after restarting CLISP I finally get:

(asdf:asdf-version)
"3.2.1"

Thanks a lot Sam and Pascal for your help!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!