makefile - GNU Make on Windows cannot see some executables -
part of deployment run target on makefile on windows called "deploy" runs, among other things, taskkill.exe , psexec.exe. both in c:\windows\system32 in %path%
.
when try make target, message psexec can't found. taskkill works expected.
as test, tried dir c:\windows\system32\psexec.exe
, makefile, "file not found". in same shell, however, can run same dir command , positive response.
why can't make see file exists, less run it?
here example makefile target:
exetest: @echo ------------------------------ -dir /b c:\windows\system32\psexec.exe @echo ------------------------------ -dir /b c:\windows\system32\taskkill.exe
and happens in command prompt:
c:\users\owner\documents\github>make exetest ------------------------------ dir /b c:\windows\system32\psexec.exe file not found make: [exetest] error 1 (ignored) ------------------------------ dir /b c:\windows\system32\taskkill.exe taskkill.exe c:\users\owner\documents\github>dir /b c:\windows\system32\psexec.exe psexec.exe c:\users\owner\documents\github>dir /b c:\windows\system32\taskkill.exe taskkill.exe
i'm running gnu make 3.81 , windows 7.
i've tried both psexec , psexec64 - same behavior both.
the problem here make
, not psexec
or psexec64
all 32-bit processes put under file system redirector.
whenever 32-bit application attempts access
%windir%\system32
, access redirected%windir%\syswow64
it seems you're using 32-bit make
program. result won't see psexec.exe in %windir%\system32
. behavior same if run 32-bit shell %windir%\syswow64\cmd.exe
, in case dir /b c:\windows\system32\psexec.exe
give file not found error
you must modify path %windir%\sysnative\psexec.exe
.
Comments
Post a Comment