Установка библиотек quicklisp в бесплатной редакции ALLEGRO-CL

В Emacs на Ubuntu Raring.. У меня есть SBCL, загруженный в Emacs, потому что я использую его все время. Я набираю (ql:quickload "ieee-floats"), чтобы загрузить мою первую библиотеку в только что установленный ACL в emacs после ввода M-- Mx slime для загрузки ACL и получения этой ошибки:

 While searching for system "ieee-floats":
    #P"/home/b/quicklisp/dists/quicklisp/software/c2ffi/README"
    evaluated to
    #P"/home/b/quicklisp/dists/quicklisp/software/c2ffi/README"
 which is
    not a directory.

первые несколько строк моего ACL asdf:central-registry:

  (#P"/home/w/quicklisp/quicklisp/"
   #P"/home/w/quicklisp/dists/quicklisp/software/c2ffi/README"
   #P"/home/w/quicklisp/dists/quicklisp/software/c2ffi/autoclean"
   #P"/home/w/quicklisp/dists/quicklisp/software/c2ffi/config.h"
   #P"/home/w/quicklisp/dists/quicklisp/software/c2ffi/configure.ac"  

так что acl просто смотрит на первый файл и останавливается. Также в asdf:central-registry в ACL он перечисляет все файлы в корневом каталоге, а также папки, но в SBCL он просто перечисляет все корневые папки в quicklisp/dist/software и SBCL работает для установки библиотек quicklisp i/e.

ACL перечисляет все файлы корневой папки

  #P"/home/w/quicklisp/dists/quicklisp/software/trivial-features-20130312-git/SPEC"
  #P"/home/w/quicklisp/dists/quicklisp/software/trivial-features-20130312-git/README"
  #P"/home/w/quicklisp/dists/quicklisp/software/trivial-features-20130312-git/trivial-features.asd"
  #P"/home/w/quicklisp/dists/quicklisp/software/trivial-features-20130312-git/tests"
  #P"/home/w/quicklisp/dists/quicklisp/software/trivial-features-20130312-git/COPYRIGHT"
  #P"/home/w/quicklisp/dists/quicklisp/software/trivial-features-20130312-git/trivial-features-tests.asd"
  #P"/home/w/quicklisp/dists/quicklisp/software/trivial-features-20130312-git/src"
  #P"/home/w/quicklisp/dists/quicklisp/software/trivial-features-20130312-git/release.sh"

SBCL'S - перечисляет только корневую папку

  #P"/home/w/quicklisp/dists/quicklisp/software/trivial-features-20130312-git/"

и файлы инициализации sbcl и acl содержат одно и то же:

 (require :asdf)
 ;put all subdirectories of quicklisp\software into asdf:*central-registry*
  (dolist (dir (directory "/home/w/quicklisp/dists/quicklisp/software/*/"))
  (pushnew dir asdf:*central-registry* :test #'equal))

 ;;; The following lines added by ql:add-to-init-file:
 #-quicklisp
 (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
                                        (user-homedir-pathname))))
   (when (probe-file quicklisp-init)
     (load quicklisp-init)))

1 ответ

Тот *central-registry* облажался. Ваш ;put all subdirectories бит в вашем файле инициализации вызывает проблему. Удалите его, и вы можете просто использовать ql:quickload загрузить библиотеки, например (ql:quickload :vecto),

Другие вопросы по тегам