[asdf-devel] ASDF:LOAD-SYSTEM always recompiles some files

Benjamin Benninghofen Benjamin.Benninghofen at eads.com
Mon Jul 12 12:47:26 UTC 2010


Look at the following Symbolics System Definition:

;;;(sct:defsystem :foo
;;;    (:default-pathname "scratch/"
;;;     :default-module-type :lisp)
;;;
;;;  (:module foo ("FOO"))
;;;
;;;  (:module bar ("BAR")
;;;       (:in-order-to (:compile :load) (:load foo)))
;;; 
;;;  )

I translated this to ASDF as follows:

(ASDF:DEFSYSTEM :FOO :COMPONENTS
                ((:MODULE FOO :PATHNAME "" :COMPONENTS ((:FILE "foo")))
                 (:MODULE BAR :PATHNAME "" :COMPONENTS ((:FILE "bar")) 
:IN-ORDER-TO
                  ((ASDF:COMPILE-OP (ASDF:LOAD-OP FOO)) (ASDF:LOAD-OP 
(ASDF:LOAD-OP FOO))))))

This is not exactly equivalent, because the semantics of :IN-ORDER-TO is 
different
in Symbolics SCT and ASDF.

However I get a very strange behavior of the ASDF System.


I write the ASDF:DEFSYSTEM form in a file "scratch/sysdcl.lisp"
I compiled the system and then restarted Lisp in order to
load the system:


CL-USER(2): (load "scratch/sysdcl")
; Loading /home/usr/benni/lisp/scratch/sysdcl.lisp
T
CL-USER(3): (asdf:find-system :foo)
#<ASDF:SYSTEM "foo">
CL-USER(4): (asdf:load-system :foo)
; Fast loading /home/usr/benni/lisp/scratch/foo.fasl
;;; Compiling file /home/usr/benni/lisp/scratch/bar.lisp
;;; Writing fasl file /home/usr/benni/lisp/scratch/ASDF-TMP-bar.fasl
;;; Fasl write complete
; Fast loading /home/usr/benni/lisp/scratch/bar.fasl
#<ASDF:LOAD-OP NIL @ #x7292bc42>
CL-USER(5):

As you see it recompiles one of the files.
This happens after each restart of Lisp (Allegro CL 8.1).
ASDF:LOAD-SYSTEM each time recompiles "bar.lisp" even if
no file is changed.

Output Translations were disabled by calling
(ASDF:DISABLE-OUTPUT-TRANSLATIONS)


-- 
Benjamin Benninghofen
Systemanalytiker

EADS
Defence & Security
Military Air Systems 
Application Software and Processes - OPEM22

Rechliner Straße
85077 Manching - Germany
Telephone: +49 (0) 8459 81 78125 
Telephone: +49 (0) 89607 78125

Fax: +49 (0) 8459 81 78105
e-Mail: Benjamin.Benninghofen at eads.com

EADS Deutschland GmbH
Registered Office: Ottobrunn
District Court of Munich HRB 107 648
Chairman of the Supervisory Board: Dr. Thomas Enders
Managing Directors: Dr. Stefan Zoller (chairman), Michael Hecht

NOTICE: This message, together with any attachments, may contain privileged
and/or confidential information. If you have received this e-mail in error
or are not an intended recipient, you may not use, reproduce, disseminate or
distribute it; do not open nor save any attachments, delete it immediately from
your system and notify the sender promptly by e- mail that you have done so. 
Thank you.






More information about the asdf-devel mailing list