[Ecls-list] ASDF redesign

Samium Gromoff _deepfire at feelingofgreen.ru
Tue May 13 14:00:21 UTC 2008


Good day Juan,

I've encountered a rebuild problem that might be related to the
load-at-once behavior.

Testcase is as follows:

a1.lisp: -------------------

(defpackage a1)

a1.asd: --------------------

(defpackage :a1.system
  (:use :cl :asdf))

(in-package :a1.system)

(defsystem :a1
  :depends-on ()
  :components
  ((:file "a1")))

a2.lisp: -------------------

(defpackage a2
  (:use :a1))

a2.asd: --------------------

(defpackage :a2.system
  (:use :cl :asdf))

(in-package :a2.system)

(defsystem :a2
  :depends-on (:a1)
  :components
  ((:file "a2")))


With that in place we perform the following sequence:

1. The first, successful build:

  ecl -eval '(require :asdf)' -eval '(asdf:make-build :a2 :type :fasl :monolithic t)' -eval '(quit)'

2. Simulation of change, either

  sleep 2s; touch a2.lisp

or

  rm a2.o liba2.a a2.fasb


3. Problem point:

deepfire at canopus:~/local$ ecl -eval '(require :asdf)' -eval '(asdf:make-build :a2 :type :fasl :monolithic t)' -eval '(quit)'
;;; Loading #P"/usr/lib/ecl/asdf.fas"
;;; Loading #P"/usr/lib/ecl/cmp.fas"
;;; Loading #P"/usr/lib/ecl/sysfun.lsp"
; loading system definition from a2.asd into #<ASDF0 package>
;;; Loading "/mnt/ext/home/deepfire/local/a2.asd"
; registering #<SYSTEM :A2 138027488> as A2
; loading system definition from a1.asd into #<ASDF0 package>
;;; Loading "/mnt/ext/home/deepfire/local/a1.asd"
; registering #<SYSTEM :A1 138096640> as A1
;;; Compiling /mnt/ext/home/deepfire/local/a2.lisp.
;;; Compiling (SI::DODEFPACKAGE "A2" ...).
;;; The form (SI::DODEFPACKAGE "A2" 'NIL NIL '("A1") 'NIL 'NIL 'NIL 'NIL 'NIL 'NIL) was not evaluated successfully.
;;; You are recommended to compile again.
An error occurred during initialization:
There exists no package with name "A1".


regards, Samium Gromoff





More information about the ecl-devel mailing list