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?
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.