[Scons-users] 3.0.5 msvc path construction problem

Bill Deegan bill at baddogconsulting.com
Wed Mar 27 11:54:36 EDT 2019


We need to see an example SConstruct to explain.
Are you explicitly listing only the tools you want in your call to
Environment()?
If not it will automatically walk the default list and initialize those.
If so and java and mingw aren't in the list initialized then this is
unexpected
-Bill

On Wed, Mar 27, 2019 at 8:25 AM Joseph C. Brill <jbrill at mindspring.com>
wrote:

> On 3/27/19 10:45 AM, Mats Wichmann wrote:
> > tools modules add the path in which the underlying tool was found, if
> > one was found (thus the JDK, for instance).  but it seems unlikely all
> > of those should have been added unless your system has all of 32/64 bit
> > msys, 32/64bit cygwin, and stuff installed through Chocolatey.
> >
> > So  it  seems like something is letting additional paths sneak in to
> > ENV['PATH']
>
> Something is definitely letting additional paths sneak into ENV[PATH].
>
> The cygwin path and the jdk path exist.  The rest do not.
>
> As for the added paths:
>         C:\\ProgramData\\chocolatey\\bin; <= does not exist
>         C:\\msys64; <= does not exist
>         C:\\msys; <= does not exist
>         C:\\cygwin64\\bin; <= does not exist
>         C:\\cygwin\\bin; <= exists
>         C:/Program Files\\Java\\jdk1.8.0_172\\bin; <= exists
>
> With the exception of the jdk, the remaining paths are "newly added" in
> 3.0.5 when compared directly to 3.0.4.
>
> In the github issue, there is a fuller description of the local
> environment and ENV['PATH']:
>         https://github.com/SCons/scons/issues/3336
>
> I still don't understand (yet) why the JDK is added to the ENV[PATH] when
> running scons.  An msvc compile after running vcvarsall.bat from a command
> line console does not add the JDK to the system path.
>
> I am manually adding the mingw-w64 binary to the path using
> AppendENVPath() to produce a mingw-w64 compatible import library from a
> msvc compiled DLL.  The location of my mingw-w64 installation is not one of
> the paths SCons is silently adding.  By silently adding the cygwin folder,
> generating a 64-bit import library from a 64-bit DLL compiled on a 32-bit
> platform fails (i.e., evidently the cygwin dlltool.exe does not support
> this or is not configured correctly when run in this context).
>
> My expectation is that the ENV[PATH] would contain only what's necessary
> for the MSVC compiler tools.  Perhaps, my expectation is misguided.
>
> Regards,
> Joe
>
>
>
>
>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20190327/99918b46/attachment-0001.html>


More information about the Scons-users mailing list