Note: Does not work with Ubuntu 18 Bionic - GLIBC problem in cargo: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found.
sudo apt install gcc wget xz-utils mkdir -p ~/.rustup/toolchains/xtensa wget https://dl.espressif.com/dl/idf-rust/dist/x86_64-unknown-linux-gnu/rust-1.50.0-dev-x86_64-unknown-linux-gnu.tar.xz tar xvf rust-1.50.0-dev-x86_64-unknown-linux-gnu.tar.xz pushd rust-1.50.0-dev-x86_64-unknown-linux-gnu ./install.sh --destdir=~/.rustup/toolchains/xtensa --prefix="" --without=rust-docs popd wget https://dl.espressif.com/dl/idf-rust/dist/x86_64-unknown-linux-gnu/rust-src-1.50.0-dev.tar.xz tar xvf rust-src-1.50.0-dev.tar.xz pushd rust-src-1.50.0-dev ./install.sh --destdir=~/.rustup/toolchains/xtensa --prefix="" --without=rust-docs popd rustup default xtensa wget https://dl.espressif.com/dl/idf-rust/dist/x86_64-unknown-linux-gnu/xtensa-esp32-elf-llvm11_0_0-llvmorg-11-init-21247-g65ed48e-linux-amd64.tar.xz tar xf xtensa-esp32-elf-llvm11_0_0-llvmorg-11-init-21247-g65ed48e-linux-amd64.tar.xz export PATH="`pwd`/xtensa-esp32-elf-clang/bin/:$PATH" wget https://dl.espressif.com/dl/idf-rust/dist/x86_64-unknown-linux-gnu/llvm-patch-0.1.x86_64-unknown-linux-gnu.tar.gz tar xzf llvm-patch-0.1.x86_64-unknown-linux-gnu.tar.gz export PATH="`pwd`/llvm-patch/bin/:$PATH" wget https://dl.espressif.com/dl/idf-rust/rust-esp32-example-0.2.tar.gz tar xvzf rust-esp32-example-0.2.tar.gz cd rust-esp32-example/rustlib cargo build --release cd .. idf.py build
mkdir -p ~/.rustup/toolchains/xtensa wget https://dl.espressif.com/dl/idf-rust/dist/x86_64-apple-darwin/rust-1.50.0-dev-x86_64-apple-darwin.tar.xz tar xvf rust-1.50.0-dev-x86_64-apple-darwin.tar.xz pushd rust-1.50.0-dev-x86_64-apple-darwin ./install.sh --destdir=~/.rustup/toolchains/xtensa --prefix="" --without=rust-docs popd wget https://dl.espressif.com/dl/idf-rust/dist/x86_64-apple-darwin/rust-src-1.50.0-dev.tar.xz tar xvf rust-src-1.50.0-dev.tar.xz pushd rust-src-1.50.0-dev ./install.sh --destdir=~/.rustup/toolchains/xtensa --prefix="" --without=rust-docs popd rustup default xtensa # TODO: Add llvm-project built for x64 - export PATH to bin wget https://dl.espressif.com/dl/idf-rust/dist/x86_64-apple-darwin/llvm-patch-0.1.x86_64-apple-darwin.tar.gz tar xzf llvm-patch-0.1.x86_64-apple-darwin.tar.gz export PATH="`pwd`/llvm-patch/bin/:$PATH" wget https://dl.espressif.com/dl/idf-rust/rust-esp32-example-0.2.tar.gz tar xvzf rust-esp32-example-0.2.tar.gz cd rust-esp32-example/rustlib cargo build --release cd .. idf.py build
mkdir -p ~/.rustup/toolchains/xtensa wget https://dl.espressif.com/dl/idf-rust/dist/aarch64-apple-darwin/rust-1.50.0-dev-aarch64-apple-darwin.tar.xz tar xvf rust-1.50.0-dev-aarch64-apple-darwin.tar.xz pushd rust-1.50.0-dev-aarch64-apple-darwin ./install.sh --destdir=~/.rustup/toolchains/xtensa --prefix="" --without=rust-docs popd wget https://dl.espressif.com/dl/idf-rust/dist/aarch64-apple-darwin/rust-src-1.50.0-dev.tar.xz tar xvf rust-src-1.50.0-dev.tar.xz pushd rust-src-1.50.0-dev ./install.sh --destdir=~/.rustup/toolchains/xtensa --prefix="" --without=rust-docs popd rustup default xtensa # TODO: Add llvm-project built for M1 - export PATH to bin wget https://dl.espressif.com/dl/idf-rust/dist/aarch64-apple-darwin/llvm-patch-0.1.aarch64-apple-darwin.tar.gz tar xzf llvm-patch-0.1.aarch64-apple-darwin.tar.gz export PATH="`pwd`/llvm-patch/bin/:$PATH" wget https://dl.espressif.com/dl/idf-rust/rust-esp32-example-0.2.tar.gz tar xvzf rust-esp32-example-0.2.tar.gz cd rust-esp32-example/rustlib cargo build --release cd .. idf.py build
mkdir -p ~/.rustup/toolchains/xtensa wget https://dl.espressif.com/dl/idf-rust/dist/x86_64-pc-windows-msvc/rust-1.50.0-dev-x86_64-pc-windows-msvc.tar.xz tar xvf rust-1.50.0-dev-x86_64-pc-windows-msvc.tar.xz pushd rust-1.50.0-dev-x86_64-pc-windows-msvc ./install.sh --destdir=~/.rustup/toolchains/xtensa --prefix="" --without=rust-docs popd wget https://dl.espressif.com/dl/idf-rust/dist/x86_64-pc-windows-msvc/rust-src-1.50.0-dev.tar.xz tar xvf rust-src-1.50.0-dev.tar.xz pushd rust-src-1.50.0-dev ./install.sh --destdir=~/.rustup/toolchains/xtensa --prefix="" --without=rust-docs popd rustup default xtensa wget https://dl.espressif.com/dl/idf-rust/dist/x86_64-pc-windows-msvc/xtensa-esp32-elf-llvm11_0_0-llvmorg-11-init-21247-g65ed48e-win64.zip unzip xtensa-esp32-elf-llvm11_0_0-llvmorg-11-init-21247-g65ed48e-win64.zip export PATH="`pwd`/xtensa-esp32-elf-clang/bin/:$PATH" wget https://dl.espressif.com/dl/idf-rust/dist/x86_64-pc-windows-msvc/llvm-patch-0.1.x86_64-pc-windows-msvc.tar.gz tar xzf llvm-patch-0.1.x86_64-pc-windows-msvc.tar.gz export PATH="`pwd`/llvm-patch/bin/:$PATH" wget https://dl.espressif.com/dl/idf-rust/rust-esp32-example-0.2.tar.gz tar xvzf rust-esp32-example-0.2.tar.gz cd rust-esp32-example/rustlib cargo build --release cd .. idf.py build