Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Download Rust Toolchain during "make toolchains" on aarch64 hosts #748

Merged

Conversation

msgilligan
Copy link
Contributor

@msgilligan msgilligan commented May 20, 2024

This is a draft PR that attempts to fix Issue #749

Note that with this patch the build still fails when actually using the Rust toolchain. It seems to be a linker configuration issue. This is one of the error messages I'm getting:

   Compiling optee-utee-sys v0.2.0 (/home/sean.linux/optee/out-br/build/optee_rust_examples_ext-1.0/optee-utee/optee-utee-sys)
error: linking with `/home/sean.linux/optee/build/../toolchains/aarch64/bin/aarch64-linux-ld.bfd` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/bin:/home/sean.linux/optee/build/../toolchains/rust/.cargo/bin:/home/sean.linux/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/sbin:/sbin:/usr/sbin:/sbin" VSLANG="1033" "/home/sean.linux/optee/build/../toolchains/aarch64/bin/aarch64-linux-ld.bfd" "/tmp/rustcte7jtz/symbols.o" "/home/sean.linux/optee/out-br/build/optee_rust_examples_ext-1.0/examples/digest-rs/ta/target/release/build/optee-utee-sys-89badbacee7da3e5/build_script_build-89badbacee7da3e5.build_script_build.7ae53caa20b5e00-cgu.0.rcgu.o" "/home/sean.linux/optee/out-br/build/optee_rust_examples_ext-1.0/examples/digest-rs/ta/target/release/build/optee-utee-sys-89badbacee7da3e5/build_script_build-89badbacee7da3e5.da5qy974ivu4kal.rcgu.o" "--as-needed" "-L" "/home/sean.linux/optee/out-br/build/optee_rust_examples_ext-1.0/examples/digest-rs/ta/target/release/deps" "-L" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-Bstatic" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd-cf59f2c17597b3d9.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libpanic_unwind-8f535f48df960590.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libobject-d67feb497d1e63a5.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libmemchr-70b8f4db34cf73b9.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libaddr2line-1b440c2cf263d456.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libgimli-966ed6f97fef1180.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_demangle-c5b96c1bbf2a9ac3.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd_detect-5732d1cd4a81a064.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libhashbrown-2a13d8dbe8a503b5.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-a747a82492cfa49f.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libminiz_oxide-11b720ff8f234cbb.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libadler-6c78e2818dc121b9.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libunwind-426a6726f3a52b5c.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcfg_if-bf93157d645f5523.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/liblibc-cbccd1eea43ebbbb.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/liballoc-0b4655237a1f2f25.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_core-4ce1a30d69fd6755.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcore-bdfe3801ac589305.rlib" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcompiler_builtins-76fca0633b54e12b.rlib" "-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "--eh-frame-hdr" "-z" "noexecstack" "-L" "/home/sean.linux/optee/toolchains/rust/.rustup/toolchains/nightly-2023-12-18-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-o" "/home/sean.linux/optee/out-br/build/optee_rust_examples_ext-1.0/examples/digest-rs/ta/target/release/build/optee-utee-sys-89badbacee7da3e5/build_script_build-89badbacee7da3e5" "--gc-sections" "-pie" "-z" "relro" "-z" "now"
  = note: /home/sean.linux/optee/build/../toolchains/aarch64/bin/aarch64-linux-ld.bfd: cannot find -lgcc: No such file or directory
          

error: could not compile `optee-utee-sys` (build script) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

@msgilligan msgilligan marked this pull request as draft May 20, 2024 01:35
@msgilligan msgilligan changed the title Add Rust Toolchain to build on aarch64 hosts Download Rust Toolchain during "make toolchains" on aarch64 hosts May 20, 2024
toolchain.mk Outdated Show resolved Hide resolved
@msgilligan msgilligan force-pushed the msgilligan/toolchain-aarch64-rust branch from 9482459 to 2ce4742 Compare May 21, 2024 19:15
@msgilligan msgilligan marked this pull request as ready for review May 21, 2024 19:17
@msgilligan
Copy link
Contributor Author

@jforissier I have made the change you suggested and force-pushed. I was thinking that was the better way to do it, but I also wanted to submit something with minimal impact. That was the main reason I marked the PR as "DRAFT". I've removed draft and the PR is ready for review.

The other reason I left it as "DRAFT" is because the build still fails on aarch64, but I think that can be addressed in a separate PR as this one does allow the build to get further than it did before.

Copy link
Contributor

@jforissier jforissier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

@b49020
Copy link
Contributor

b49020 commented May 23, 2024

Reviewed-by: Sumit Garg <sumit.garg@linaro.org>

@msgilligan
Copy link
Contributor Author

msgilligan commented May 23, 2024

@jforissier Is there anything else I need to do to help get this merged? Does it need additional review? Should I rebase on master to pick up PR #753 ?

@jforissier
Copy link
Contributor

@msgilligan no need to rebase, it is done automatically by GitHub. However please add the Reviewed-by: tags then I will push the merge button. Thanks!

Signed-off-by: Sean Gilligan <sean@msgilligan.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
@msgilligan msgilligan force-pushed the msgilligan/toolchain-aarch64-rust branch from 2ce4742 to 4c5d2d5 Compare May 24, 2024 16:24
@msgilligan
Copy link
Contributor Author

However please add the Reviewed-by: tags then I will push the merge button. Thanks!

Thanks for reminding me! Done!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants