Re: Mesa3D graphics library build failure when using Scons 3.0.3 and newer on Windows with Visual Studio 2017, Scons 3.0.1 is unaffected.

Bill Deegan <[email protected]>
Newsgroups gmane.comp.programming.tools.scons.user
Message-ID <CAEyG4CHrv-jVtNzdC2r2WzZnJsQTp_D99BkK2pdmKyTjGozUqg@mail.gmail.com>
Also worth subscribing to users mailing list.
It's relatively low volume.

-Bill

On Wed, Feb 27, 2019 at 1:47 PM Bill Deegan <[email protected]>
wrote:

> Is the windows thread/spawn bug fixed in Python now?
>
> We have seen an infrequent issue with a race condition on windows as well.
> I'm fairly certain is due to Python dropping the GIL around file
> open/close..  something like env.Install(target,source), env.Program(...,
> target) so a linker or other program tries to use the file after it is
> copied and/or written by python Action before it's closed on the filesystem
> yielding file still open errors..
>
> Any builder with [] as the source is odd. Then adding the dependencies via
> Depend(). Generally you'd specify the script.  Most build's consider that
> to be sufficient. Your build goes a step further by examining all the
> python modules it loads. Very clever.  I think that logic could be moved to
> a python scanner and then you could get rid of most of the special logic
> there.
>
> When I get a chance I'll take a look at the rest.
>
> On Tue, Feb 26, 2019 at 11:28 PM Jose Fonseca <[email protected]> wrote:
>
>> On 26/02/2019 22:46, Bill Deegan wrote:
>> >
>> >
>> > On Tue, Feb 26, 2019 at 7:57 AM Jose Fonseca <[email protected]
>> > <mailto:[email protected]>> wrote:
>> >
>> >     Hi Bill,
>> >
>> >     If you spot anything on Mesa's SCons usage that looks like a bad
>> idea
>> >     then do let us know.
>> >
>> >
>> > Likely there's room for improvement.
>> > Let me finish vetting the patch to fix your current issue and then I'll
>> > see if I can find some time to do a review?
>> > In the meantime if you have questions please bring them here?
>>
>> I don't have any concrete questions -- except this matter, SCons has
>> been working fine.   My question is based upon your remarks that we're
>> doing odd stuff.  I'd just would like to better understand it, and
>> improve it, specially if that can avoid breakage in the future.
>>
>> >     One of the difficulties of Mesa is that there were always multiple
>> >     build
>> >     tools system, with the bulk of developers (those targeting Linux)
>> using
>> >     first autotools / now meson, and only a subset (those targeting
>> >     Windows)
>> >     using SCons.  So that's why I tried to make things somewhat
>> automatic.
>> >
>> >     Results have been mixed: when it works, it works well; and it fails,
>> >     nobody knows how to fix except me who most of this..
>> >
>> >
>> > Have you subscribed to the scons users mailing list before today?
>> > Honestly I wasn't aware Mesa was using SCons until Liviu brought it up.
>>
>> No, never subscribed.  We've been using it for 10+ years, and BTW, it
>> has been working very well for us (ie those who build Mesa for Windows,
>> VMware in particular.)  It's a pity SCons never gained traction with
>> Mesa Linux developers who stuck with the autotools until last year.  If
>> I had tried harder back then to get all Mesa tree fully ported to SCons
>> perhaps things would have been different, but one can only do so much,
>> and by then me and my team lost too many technical/political fights to
>> embark on yet another one.
>>
>> I can only recall two instances of SCons issues affecting us, this and
>> http://scons.tigris.org/issues/show_bug.cgi?id=2449 .  That was a pretty
>> nasty issue to debug from my side, as the race condition was pretty
>> rare.  In fact, I just realized we still have the workaround on
>> https://cgit.freedesktop.org/mesa/mesa/tree/scons/fixes.py .  It's
>> probably safe to drop it now :)
>>
>> >
>> >
>> >       > Calling any builder with sources set to []...
>> >
>> >     What should we used instead?
>> >
>> >
>> > Most times the source for such a command is the script itself.
>> > Then you'd just add the python scanner and scons should (I think) do
>> > what you're manually doing via env.Depends()...
>> >
>> > -Bill
>> >
>> >
>> Jose
>>
>

_______________________________________________
Scons-users mailing list
[email protected]
https://pairlist4.pair.net/mailman/listinfo/scons-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.