make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: make alters subprocess environment


From: Павел Сутырин
Subject: Re[2]: make alters subprocess environment
Date: Thu, 20 Sep 2007 14:11:17 +0400

Hi!

Thank you for fast response. 

> >   C:\>gmake --version
> >   GNU Make version 3.75, by Richard Stallman and Roland McGrath.
> 
> Wow!  That's an ancient version and a very old Windows port of it.  
> I suggest to upgrade to the latest version 3.81.  

I've tried 3.81. Now it catches Ctrl-C normally, but still fails to perform the 
call chain:

  gmake -> test.exe -> util.bat -> util.py 

I've discovered, that make alters PATH variable. Attached is set of files 
needed to (possibly) reproduce this. On my machine i ran reproduce.bat and got 
two outputs of 'SET' command inside and ouside of make, the difference is:

--- outside.set Thu Sep 20 13:17:09 2007
+++ inside.set  Thu Sep 20 13:17:42 2007
@@ -14,12 +14,9 @@
 HOMEPATH=\Documents and Settings\viz
 http_proxy=192.168.200.51:4480
 LOGONSERVER=\\SUTYRINPG
+MAKEFLAGS=
+MAKELEVEL=1
+MFLAGS=
 NUMBER_OF_PROCESSORS=2
 OS=Windows_NT
-Path=c:\program files\imagemagick-6.3.3-q16;"c:\Program Files\Python25"; (...)
+PATH=c:\program files\imagemagick-6.3.3-q16;"c;\Program Files\Python25"; (...)
 ^^^^                                          ^
 notice this                  and especially this. other symbols are intact.

===============================================================
This is why python utility failed to run -- it was called as "python util.py", 
not just "util.py", and system couldn't find python.exe. If i leave simple 
"util.py" call  -- everything works, due to .py extension handler. 

I open "My Computer" and look at environment variables -- PATH is globally set 
correctly. My account has no overrides of PATH. Can't imagine, where that value 
comes from. 

I've encountered similar PATH issue some time ago while installing a custom 
gmake-3.75-powered toolkit on colleague's similar winxp machine. I've modified 
global PATH variable, restarted cmd (or, probably the whole box) and observed 
new PATH. But inside of make run it showed unmodified! That time I've just 
jumped around that.


Now having fixed my particular test problem, I'll try to investigate the make 
issue later, but hope you may derive something useful from all this. 

--pavel. 


Attachment: mingw32-make-path-altered.zip
Description: Zip compressed data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]