I recompiled an SBCL 1.1.9, which is close to your 1.1.8.30 and just before it upgraded to ASDF 3.0.2, and couldn't reproduce your issue; can you give me steps to reproduce, if possible minimal?
Also, is your sbcl install the fruit of a cp -r without timestamp preservation? Are there clock skew issues between your host and e.g. an NFS server?
In your TRAVERSE output, what we're looking for is the first compilation of a lisp file. It's also possible that some static-file with a high timestamp cause the next system over to think it must be recompiled.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org If it's not worth doing right, it's not worth doing. — Scott McKay
On Thu, Oct 31, 2013 at 5:59 PM, Faré fahree@gmail.com wrote:
On Thu, Oct 31, 2013 at 5:32 PM, Zach Beane xach@xach.com wrote:
Faré fahree@gmail.com writes:
On Thu, Oct 31, 2013 at 2:43 PM, Zach Beane xach@xach.com wrote:
I've saved an executable SBCL image that includes asdf and calls load-system. If the system it's loading depends-on sbcl contribs, e.g. sb-bsd-sockets, it is recompiling the contrib sources.
What causes contribs to get recompiled? Is there an easy way to inhibit it?
Which versions of SBCL and ASDF are you using? Are you using some ASDF options such as enabling deferred-warnings?
I am using SBCL 1.1.8.30+, and ASDF 3.0.3. I am initializing output translations with something like:
(initialize-output-translations '(:output-translations (t "/path/to/fasls/") :inherit-configuration))
Weird. Can you do the following: (1) use (asdf:traverse 'asdf:load-op :your-system) to identify the first few things that get recompiled (2) use (asdf:input-files 'asdf:whichever-op '("sb-whatever" "component-name")) and (asdf:output-files 'asdf:whichever-op '("sb-whatever" "component-name")) to see what are the files involved, and (3) use ls -l to check the timestamps of all said files
One thing that could have gone wrong is that somehow during your SBCL installation, timestamps were not preserved, and some .lisp file got a timestamp later than the corresponding .fasl.
Another thing that could have gone wrong is that somehow your output-translations configuration fails to specially treat the sbcl contribs.
Or then again, it could be a bug in ASDF that I missed because I've been using for months the "no ASDF for contribs at runtime" patch that was just included in the latest SBCL release. But I'm pretty sure I faced that issue earlier and that it was working when I released ASDF 2.27.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org The major advances in civilization are processes that all but wreck the societies in which they occur. — A.N. Whitehead