You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am Apple M1 Pro (OS: macos sonoma) and I installed juvix. juvix itself installs fine but juvix doctor command is not being able to detect my wasm-ld installed locally. (I do want to compile to WebAssembly)
On Apple silicon macos machines, the brew installed llvm's wasm-ld linker does not seem to be detected by juvix doctor command. I also tried installing and building wasm-ld directly (https://lld.llvm.org/). But either way, wasm-ld is not detected by juvix doctor.
> juvix --version
Juvix version 0.6.6-e4559bb
Branch: HEAD
Commit: e4559bbc87eb946c1b5c4db76ec8983a94201418
Date: Tue Sep 3 18:10:01 2024 +0100
> juvix doctor
> Checking for clang...
> Checking clang version...
> Checking for wasm-ld...
! Could not find the wasm-ld command
! https://docs.juvix.org/0.6.6/reference/tooling/doctor/#could-not-find-the-wasm-ld-command
> Checking that clang supports wasm32...
> Checking that clang supports wasm32-wasi...
> Checking that WASI_SYSROOT_PATH is set...
> Checking for wasmer...
> Checking latest Juvix release on Github...
> which wasm-ld
/usr/local/bin/wasm-ld
> brew --prefix llvm
/opt/homebrew/opt/llvm
Can anyone help me here? Not sure if this is the issue with the llvm setup on my local mac or the juvix doctor.
Desktop (please complete the following information):
wasm-ld and a WASM compatible clang are only required if you want to use Juvix's WASM target. This is not necessary if you want to compile Anoma applications.
You can ignore the juvix doctor warning if you have installed wasm-ld yourself. But note that the active version of clang should match the active version of wasm-ld.
You can install wasm-ld using brew by installing the lld package: brew install lld.
What follows is a more detailed description of what we need to fix.
1. wasm-ld is no longer present in the homebrew llvm package
wasm-ld was removed from the llvm package in the latest version (version 19).
$ brew ls -v llvm@18 | grep wasm-ld
/opt/homebrew/Cellar/llvm@18/18.1.8/bin/wasm-ld
$ brew ls -v llvm | grep wasm-ld
wasm-ld is installed by the lld homebrew package.
$ brew ls -v lld | grep wasm-ld
/opt/homebrew/Cellar/lld/19.1.0/bin/wasm-ld
Actions
Update the install documentation for macOS with instructions for installing wasm-ld using the lld homebrew package.
2. The juvix doctor diagnosis is misleading
We require that the doctor checks that:
wasm-ld is available on the user's PATH
wasm-ld is compatible with the version of clang on the user's PATH
We currently do this by checking that wasm-ld exists in the llvm distribution.
4. The WASM dependencies are highlighted in the install docs but are not required for Anoma.
The Juvix WASM backend was developed at a time when Anoma applications were represented as WASM code. This is no longer the case and so it's not important for Juvix users of Anoma to setup WASM tooling. The Juvix documentation and doctor make it seem like WASM setup is important.
Describe the bug
I am Apple M1 Pro (OS: macos sonoma) and I installed juvix. juvix itself installs fine but
juvix doctor
command is not being able to detect mywasm-ld
installed locally. (I do want to compile to WebAssembly)On Apple silicon macos machines, the brew installed llvm's
wasm-ld
linker does not seem to be detected by juvix doctor command. I also tried installing and building wasm-ld directly (https://lld.llvm.org/). But either way, wasm-ld is not detected by juvix doctor.Can anyone help me here? Not sure if this is the issue with the llvm setup on my local mac or the juvix doctor.
Desktop (please complete the following information):
To Reproduce
Steps to reproduce the behavior: https://docs.juvix.org/0.6.3/howto/installing.html
Expected behavior
juvix doctor
to detect locally installedwasm-ld
The text was updated successfully, but these errors were encountered: