[Scons-users] env.Command and _process_ environment variables :-(
Pedro Larroy
pedro.larroy.lists at gmail.com
Tue Oct 16 14:27:28 EDT 2012
In windows 8 the environment is propagated fine. Maybe is a python bug?
Pedro.
On Tue, Oct 16, 2012 at 8:19 PM, Pedro Larroy
<pedro.larroy.lists at gmail.com> wrote:
> Hi
>
> I reproduced with a minimal setup. I think it's a bug, see the
> attached zip file. When executing run.bat the two environments
> differ, the one that is displayed by show.py lacks VS11 related stuff
> in the PATH.
>
> https://www.dropbox.com/sh/h6c8w3wjnfw5z6i/tAEBi2eHuE/path.zip
>
> Should I fill a ticket?
>
> Pedro.
>
> On Tue, Oct 16, 2012 at 7:46 PM, Pedro Larroy
> <pedro.larroy.lists at gmail.com> wrote:
>> Hi William
>>
>> Thanks a lot for your reply. I'm using Visual studio 2012, the problem
>> only happens in VS2012 with Windows7. In windows 8 the path of the
>> environment was propagated fine IIRC.
>>
>> I tried now with env = Environment(ENV={PATH: os.environ['PATH']})
>> and it works, but before I was doing env = Environment(ENV=os.environ)
>> hoping to export the full env and didn't work
>>
>> I'm creating the environment as:
>>
>> env = Environment(MSVS_ARCH='amd64', MSVC_VERSION='11.0', ENV={'PATH':
>> os.envrion['PATH']})
>>
>> And as you say, compiling SConscript files is fine, as CL is found
>> automatically, the only problem was when calling env.Command oddly
>> enough.
>>
>> Pedro.
>>
>> On Tue, Oct 16, 2012 at 7:29 PM, William Deegan
>> <bill at baddogconsulting.com> wrote:
>>> Pedro,
>>>
>>> On Oct 16, 2012, at 8:13 AM, Pedro Larroy <pedro.larroy.lists at gmail.com> wrote:
>>>
>>>> Hi
>>>>
>>>> Is there a way to pass the process environment to env.Command target?
>>>> I think the environment is not being passed correctly.
>>>>
>>>> I have an env.Command statement to build some artifacts. Before
>>>> calling Scons I call vcvarsall.bat to set the environment variables
>>>> that Visual Studio needs, PATH etc.
>>>>
>>>> This env.Command ends up calling Microsoft's "cl" compiler.
>>>>
>>>> The problem that I have is that "cl" is not found in the PATH, as when
>>>> executing env.Command seems the environment variables are not being
>>>> passed.
>>>>
>>>> I tried creating env with Environment(ENV=os.environ)
>>>>
>>>> When I call the Sconscript, os.environ has the correct environment.
>>>> And when I call the env.Command target manually after setting
>>>> vcvarsall.bat it works fine.
>>>
>>>
>>> In general SCons should detect the location of your visual studio/VC install. so you shouldn't need to source the vcvarsall.bat.
>>>
>>> Which version of visual studio/VC/other are you using?
>>> Which version of windows? (and is it 32 or 64bits)?
>>>
>>> Thanks,
>>> Bill
>>> _______________________________________________
>>> Scons-users mailing list
>>> Scons-users at scons.org
>>> http://four.pairlist.net/mailman/listinfo/scons-users
More information about the Scons-users
mailing list