Subject: Re: bug#46256: [feature/native-comp] AOT eln files ignored if run from build tree

From: Andrea Corallo <[email-masked]>
Date: Sun, 28 Feb 2021 21:15:03 +0000

Eli Zaretskii <[email-masked]> writes:

>> From: Andy Moreton <[email-masked]>
>> Date: Sat, 27 Feb 2021 21:58:25 +0000
>> 
>> > I suspect that the issue may be with parallel builds (note the "-j8"
>> > above). Repeating the build with "-j1" appears to be building the
>> > missing .eln files as expected.
>> 
>> Now that the -j1 build has completed (without error), all of the lisp
>> files have been compiled AOT as expected, and running the resulting
>> emacs does not rebuild any of those .eln files.
>> 
>> So I think there are still some other issues with dependencies and
>> handling parallel builds, but this bug has been fixed.
>
> Hmm... what would be the reason for parallel builds not work well on
> MS-Windows? file sharing issues?

I suspect this is not Windows related.

> Does the async native compilation use temporary files, and if so, do
> they reside in the same directory when multiple compilations are
> running?

Yes, we rely on Fmake_temp_file_internal in Fcomp__compile_ctxt_to_file
to decide the output filename to be passed to libgccjit when asking for
compilation.

There should be no conflict unless more then one process is trying to
compile the same file (not sure ATM if this is what we are seeing here
and why this should be happening).

  Andrea