[Scons-users] finding out which env causes this error: Two different environments were specified for target

daggs daggs at gmx.com
Sun Mar 27 04:00:25 EDT 2022


Greetings Mats,

> Sent: Friday, March 25, 2022 at 8:50 PM
> From: "Mats Wichmann" <mats at wichmann.us>
> To: "daggs" <daggs at gmx.com>
> Cc: "SCons users mailing list" <scons-users at scons.org>
> Subject: Re: [Scons-users] finding out which env causes this error: Two different environments were specified for target
>
> On 3/25/22 11:14, daggs wrote:
> >
> >
> >> Sent: Friday, March 25, 2022 at 8:02 PM
> >> From: "Mats Wichmann" <mats at wichmann.us>
> >> To: "daggs" <daggs at gmx.com>
> >> Cc: "SCons users mailing list" <scons-users at scons.org>
> >> Subject: Re: [Scons-users] finding out which env causes this error: Two different environments were specified for target
> >>
> >> On 3/25/22 09:40, daggs wrote:
> >>>
> >>>
> >>>> Sent: Friday, March 25, 2022 at 6:26 PM
> >>>> From: "Mats Wichmann" <mats at wichmann.us>
> >>>> To: "daggs" <daggs at gmx.com>
> >>>> Cc: "SCons users mailing list" <scons-users at scons.org>
> >>>> Subject: Re: [Scons-users] finding out which env causes this error: Two different environments were specified for target
> >>>>
> >>>> On 3/25/22 09:23, daggs wrote:
> >>>>
> >>>>> I do something like this:
> >>>>> for folder in [ a, b, c ]:
> >>>>>     for modes in [ y. z ]:
> >>>>>         export('mode')
> >>>>>         sconscript("src/" + folder + "/SConscript", variant_dir = "out/" + folder + "." + mode, duplicate = 0. export('env'))
> >>>>>
> >>>>> the issue occurs when I define InstallAs in folder b
> >>>>> if I remove it and add prints to the targets, I see them all ok.
> >>>>
> >>>> And what target is defined by the InstallAs call?
> >>>>
> >>>>
> >>>
> >>> "tgt/" + folder + "." + mode + "/" + bin where bin differs for each folder
> >>
> >> Okay, you're saying that you've commented out the InstallAs calls and it
> >> works, but you've printed what the targets would have been for those and
> >> they look suitably unique?  Or is my reparsing of the comment from your
> >> earlier message wrong?
> >>
> >> If so, it seems you've proven where the problem comes from (InstallAs)
> >> and maybe SCons is interpreting that path differently than the pure
> >> Python string comes out?
> >>
> >
> > I'll try to make it clearer, as I pre define the targets, I can print them.
> > when I run scons in dry run mode for targets a.y and a.z, I see the dep tree properly. it has a installAs call.
> > when I do the same for b.z and b.y with the installAs call, I get two envs error with b.y.
> > if I remove the installAs in b and prints the targets, I see no problems in the installAs target dst.
>
> From the information here, nothing jumps out.  I'd run with just the "a"
> targets first, capture that tree output; then run with just the "b"
> targets and capture that and do a side-by-side comparison of what you
> got and see if there are any surprises.
>
> Issue 2769 suggests from a discussion in the mailing list (the tigris
> links are dead so they're no use for prospecting purposes) that calling
> the same sconscript twice was the cause of a problem. You do that,
> intentionally, so maybe we're looking for it getting called the same way
> twice through some accident?
>
>
>

my issue is more that you states above, I have 3 folder which is called twice each.
folder a is processed without any issue, process b however isn't
it doesn't matter what I run

Dagg.


More information about the Scons-users mailing list