emscripten-core / emsdk

Emscripten SDK
http://emscripten.org
Other
2.92k stars 660 forks source link

Use "command -v" instead of "which" to detect commands #1419

Closed akoeplinger closed 6 days ago

akoeplinger commented 1 week ago

On a Linux distro that doesn't have the which program installed we're getting the following error:

$ ./emsdk install latest
./emsdk: line 39: exec: python: not found

It's failing to detect the installed python3 and falls back to using python, but this distro doesn't provide a python -> python3 symlink so we fail.

Fix this by using command -v instead which is a POSIX standard. The same change went into emscripten a couple years ago: https://github.com/emscripten-core/emscripten/pull/15071

allsey87 commented 6 days ago

I think this is fine for now, but eventually it would be good to migrate to rules_python which should be more portable and eliminate the need for most of the .sh and .bat scripts.