Yosemite breaks bash
My login shell is /bin/zsh. I found that under Yosemite, /bin/sh starts up with a default path, rather than inheriting the PATH environment. This breaks "make" (among others) as it doesn't find the programs it needs (such as latex in my case).
The bizarre fact is that once a PATH environment is explicitly set in bash, any child shell will inherit it, whether invoked directly from the shell with the manually fixed path or indirectly. I compared the environments of such a child shell with the parent and couldn't spot any difference.
The bug is probably not in bash itself, but in the exec() system call: It occurred on two versions of bash (the default 3.2.53(1) as well as the latest I upgraded to, 3.2.57(1)). I also installed 3.2.57(1) on my other machine (still running Mavericks) and it works fine.
A temporary workaround is:
- in the terminal window I'm using to run "make", which runs /bin/zsh, explicitly invoke /bin/sh
- enter "export PATH=..." in that 2nd-level /bin/sh
- inside that bash, start another zsh
- in that zsh everything works fine, including make
MacBook Air (11-inch Mid 2013), OS X Yosemite (10.10)