Robert Goldman rpgoldman@sift.info writes:
Question: is it possible to get an analogous issue using only lisp files?
Yes, up to one thing. I use cat instead of a linker (and do not load the resulting file, but I think that is irelevant)
I uploaded a tarball
http://common-lisp.net/~mmommer/matlispasdfissue.tar.gz
which is the same as before, but that includes a definition file called abug.asd that does not use any alien business. There are no fortran components, only plain lisp ones and instead of the so, some bogus file is generated using cat on the components of unix-dso, which is never loaded. I just wanted to preserve the semantincs of a module that has components but itself does something with the components once the components are done. The operation-done-p has this bogus file to check if it should run the op or not.
With the old asdf, compilation happens only on the first load, while in the new asdf, files get compiled again.
Interestingly, with the old asdf, the following happens:
CL-USER> (asdf:operate 'asdf:load-op 'abug) ;;; stuff elided. ; $ cat "/home/mommer/borrar/matlisp/nothere.fasl" > "/home/mommer/borrar/matlisp/libmatlisp.fasalad" ;;; more stuff elided. CL-USER> (asdf:operate 'asdf:load-op 'abug) ; $ cat "/home/mommer/borrar/matlisp/nothere.fasl" > "/home/mommer/borrar/matlisp/libmatlisp.fasalad" ;;; whoa. It ran the "linker" again! NIL CL-USER> (asdf:operate 'asdf:load-op 'abug) NIL CL-USER>
Any ideas?
Regards, and thanks, Mario