Re: finding out which env causes this error: Two different environments were specified for target
Mats Wichmann <[email protected]>
| Newsgroups | gmane.comp.programming.tools.scons.user |
|---|---|
| Message-ID | <[email protected]> |
On 3/25/22 11:14, daggs wrote: > > >> Sent: Friday, March 25, 2022 at 8:02 PM >> From: "Mats Wichmann" <[email protected]> >> To: "daggs" <[email protected]> >> Cc: "SCons users mailing list" <[email protected]> >> 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" <[email protected]> >>>> To: "daggs" <[email protected]> >>>> Cc: "SCons users mailing list" <[email protected]> >>>> 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?