Question

J'ai cette ecl-make.lisp:

(asdf:oos 'asdf:compile-op :stumpwm)

(defun system-objects (system)
  (loop for component in (asdf:module-components (asdf:find-system system))
    for pathname = (asdf:component-pathname component)
    for directory = (pathname-directory pathname)
    for name = (pathname-name pathname)
    when (equal "lisp" (pathname-type pathname))
    collect (make-pathname :directory directory :type "o" :name name)))

(c:build-program "stumpwm" :lisp-files
  (concatenate 'list
    (system-objects :cl-ppcre)
    (system-objects :clx)
    (mapcar (lambda (component)
              (concatenate 'string component ".o"))
      stumpwm-system::*components*))
  :epilogue-code '(unwind-protect (stumpwm:stumpwm) (ext:quit)))

(stumpwm-system::*components* est mon plus stumpwm.asd, utilisé pour générer les composantes de ASDF dans ce fichier et la liste correctement ordonnée de fichiers ci-dessus.)

Il ne peut tout simplement:

... same messages you get when (system-objects ...) are
... excluded from the c:build-program [it compiles in
... this case, but of course CL-PPCRE and CLX are unavailable.]
An error occurred during initialization:
Cannot find out entry point for binary file.

Je suis au point où je ne résoudre les erreurs que j'Introduit avec des tentatives précédentes. Si vous avez construit un programme avec LCE dépendances incluses, s'il vous plaît me montrer comment vous l'avez fait. Je vois comment Je peux punt et charger les dépendances quand stumpwm démarre (même sans charger mon ~/.eclrc, qui raconte ASDF où trouver celles-ci). Mais cette devrait possible.

Était-ce utile?

La solution

Oh, wow. Voici la réponse :

  1. Supprimer ecl-make.lisp, annuler les modifications à stumpwm.asd

  2. ecl -eval '(asdf:make-build :stumpwm :type :program)'

Voilà. [ASDF ne voit pas asdf:build-op, cependant.]

EDIT: Eh bien, il faut aussi un prologue. -LCE exemples montre maintenant au large asdf:make-build

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top