[asdf-devel] Recompiling SBCL contribs

Faré fahree at gmail.com
Thu Oct 31 22:51:40 UTC 2013


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 at gmail.com> wrote:
> On Thu, Oct 31, 2013 at 5:32 PM, Zach Beane <xach at xach.com> wrote:
>> Faré <fahree at gmail.com> writes:
>>
>>> On Thu, Oct 31, 2013 at 2:43 PM, Zach Beane <xach at 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



More information about the asdf-devel mailing list