Follow-up Comment #2, bug #57674 (project make):

I know why this happens.

In GNU make prior to 4.3 we used the execvp() system call to invoke commands. 
This call behaves like this (from the man page):

> The file is sought in the colon-separated list of directory pathnames
> specified in the PATH environment variable.  If this variable isn't
> defined,  the path list defaults to a list that includes the directories
> returned by confstr(_CS_PATH) (which typically returns the value
> "/bin:/usr/bin")

In GNU make 4.3, for performance reasons we choose to use posix_spawn() if
it's available on the system.  posix_spawn() doesn't do any path search, so we
do it ourselves and we don't have this backup default PATH lookup that
execvp() does.

While it could be argued either way, I think this is probably something we
should fix in GNU make so I'm going to leave this open.

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?57674>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/


Reply via email to