无法启动或重新安装Quicklisp:ASDF / FIND-SYSTEM :: STAMP undefined

时间:2018-01-03 23:41:41

标签: common-lisp quicklisp asdf

我打破了我的CL环境。我可以运行sbcl但我无法重新运行或重新安装Quicklisp(我只是删除了目录~/quicklisp/并希望重新开始)。我收到以下错误:

* (load #p"~/quicklisp/setup.lisp")
While evaluating the form starting at line 129, column 0
  of #P"~/quicklisp/setup.lisp":

debugger invoked on a UNDEFINED-FUNCTION in thread
#<THREAD "main thread" RUNNING {10019B67B3}>:
  The function ASDF/FIND-SYSTEM::STAMP<= is undefined.

line 129并没有引起人们的极大兴趣,或者看起来如此。

尝试重新安装Quicklisp。

ASDF版本3.2.1,SBCL 1.3.19。

这可能是什么原因?

或者我怎样完全并正确地重新开始? (考虑隐藏的.fasl文件或其他东西)。

谢谢!

编辑:下载asdf 2.26

* (quicklisp-quickstart:install)

; Fetching #<URL "http://beta.quicklisp.org/client/quicklisp.sexp">
; 0.82KB
==================================================
838 bytes in 0.00 seconds (818.36KB/sec)
; Fetching #<URL "http://beta.quicklisp.org/client/2017-03-06/quicklisp.tar">
; 250.00KB
==================================================
256,000 bytes in 0.09 seconds (2941.18KB/sec)
; Fetching #<URL "http://beta.quicklisp.org/client/2015-09-24/setup.lisp">
; 4.94KB
==================================================
5,054 bytes in 0.00 seconds (0.00KB/sec)
; Fetching #<URL "http://beta.quicklisp.org/asdf/2.26/asdf.lisp">
; 194.07KB
==================================================
198,729 bytes in 0.08 seconds (2553.57KB/sec)While evaluating the form starting at line 129, column 0
  of #P"/home/vince/quicklisp/setup.lisp":

debugger invoked on a UNDEFINED-FUNCTION in thread
#<THREAD "main thread" RUNNING {10019B68B3}>:
  The function ASDF/FIND-SYSTEM::STAMP<= is undefined.

1 个答案:

答案 0 :(得分:0)

最后得到了一个好的ASDF警告消息,试图安装一个roswell实用程序:

  

为sbcl-bin安装脚本...   警告:      您正在使用ASDF版本3.3.1(可能来自(require“asdf”)或已加载      by quicklisp)并注册了旧版本的ASDF 3.2.1      #P “/home/vince/bacasable/portacle/build/asdf/asdf.asd”。拥有ASDF      安装和注册是配置ASDF升级的常规方法      本身,并且注册旧版本是配置错误。 ASDF      将忽略此配置的系统而不是降级自己。在里面      未来,您可能希望:(a)将此配置的ASDF升级为更新版本      版本,(b)安装较新的ASDF并在前者注册      您的配置,或(c)卸载或取消注册此和任何其他旧的      您的配置中的ASDF版本。请注意,较旧的ASDF可能是      通过从系统继承的配置隐式注册      安装,在这种情况下,您可能需要指定      :在你的in中使用ignore-inherited-configuration      〜/ .config / common-lisp / source-registry.conf或其他source-registry      配置文件,环境变量或lisp参数。确实,很可能      offender是cl-asdf debian或ubuntu包的过时版本,      您可能想要升级(如果有足够的版本可用)或      否则完全删除(因为大多数实现都附带最近的asdf);      如果您缺少升级或删除此系统管理权限      包,那么你可能确实想要安装和注册更多      最新版本,或使用:ignore-inherited-configuration以避免注册      旧的。请咨询ASDF文件和/或专家。

所以这是因为我删除了Portacle的构建,现在它很好。 ~~我不知道为什么它干扰了我虽然~~我的(pushnew "~/bacasable/" asdf:*central-registry* :test #'equal)中有一个过于宽泛的.sbclrc(但似乎我把这行注释掉了...)。

所以寻找解决方案的方法是:尝试安装一个roswell实用程序(ros install sbcl-bin),查看asdf.lisp文件(带locate)的位置,并遵循ASDF警告。

感谢ASDF的好警告!