Manually set LLVM_ROOT to
/usr/local/opt/emscripten/libexec/llvm/bin
and comment out BINARYEN_ROOT
in ~/.emscripten after running `emcc` for the first time.
However, emscripten refuses compiling after following that.
I found:
v1.38.44: 09/11/2019
--------------------
- Remove Binaryen from the ports system. This means that emscripten will
no longer automatically build Binaryen from source. Instead, either use
the emsdk (binaries are provided automatically, just like for LLVM), or
build it yourself and point `BINARYEN_ROOT` in .emscripten to it. See #9409
I guess the proper fix is to make binaryen an explicit dependency of emscripten and change the ~/.emscripten content on installation.
Since this issue was a bit tricky to find, I'm including the latest observed error message in full for future searchers (seems to have changed since the issue first appeared):
shared:ERROR: BINARYEN_ROOT is not defined in /Users/me/.emscripten
Stalebot is correct, homebrew only keeps issues around if they're needed for active development. Since nothing is happening here it can be closed. Maybe you could make a pull request with your workaround?
brew update
and can still reproduce the problem?brew doctor
, fixed all issues and can still reproduce the problem?brew gist-logs <formula>
(where<formula>
is the name of the formula that failed) and included the output link?brew gist-logs
didn't work: ranbrew config
andbrew doctor
and included their output with your issue?`brew config`, `brew doctor` output
What you were trying to do (and why)
Compile simple Hello World program(C++)
What happened (include command output)
after tons of
cache:INFO: generating system library: XXX.bc
,What you expected to happen
Compiles without Error
Step-by-step reproduction instructions (by running
brew install
commands)After
brew install emscripten
, homebrew promptswhich is written in emscripten.rb.
However, emscripten refuses compiling after following that.
I found:
at Emscripten Release Notes
As emscripten-core/emscripten#9409 saying we need
BINARYEN_ROOT
to be set in~.emscripten
.My workaroud:
disable wasm output using
em++ -s WASM=0 src.cpp
or install
brew install binaryen
then set BINARYEN_ROOT to/usr/local
Then, why didn't you make a PR?
I found another PR #44846 dealing with all the llvm, binaryen stuff. I'm not sure if my PR conflicts.
Also I don't know what BINARYEN_ROOT should be..
/usr/local
or/usr/local/opt/binaryen/
?The text was updated successfully, but these errors were encountered: