-
Notifications
You must be signed in to change notification settings - Fork 226
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
optee_rust_examples_ext: Fix Rust toolchain conflicts #731
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Acked-by: Jens Wiklander <[email protected]>
Tag applied, thanks. |
https://github.com/jforissier/optee_os/actions/runs/7796709151/job/21261880050 Tested by applying this patch to |
@jforissier Thanks for testing. Its embarrassing to see how my local environment tricked me to not catch errors in the first place. BTW, the CI error should be fixed now with the Rust toolchain dependency resolved for Rust examples. Can you please give it a retry? |
Thanks for the update. Still not working (
|
Sure, that make sense. I will give it a try. |
While digging further the buildroot provided Rust toolchain actually doesn't support nightly version of Rust compiler. So we have to live with OP-TEE specific Rust nightly toolchain for the time being. Now with this updated PR, it is yet another attempt to fix Rust toolchain conflicts. @jenswi-linaro I dropped your ack since its I switched to a different approach fixing CI problems. @jforissier Docker image seems to pass for me, can you give this PR a try through CI? |
BTW, the IBART error seems unrelated to this PR. @jbech-linaro please have a look. |
I tried building twice and it failed twice with messages similar to:
Log file here: build.log.zip It looks like something is happening in parallel which should not. I am building on a 128-vCPU EC2 host with the following commands:
I can give you access temporarily if you wish. Just give me your SSH key ( |
@jforissier Thanks for providing your build machine access to me. It turned out to be following fix in order to get the build to pass:
The PR has been updated, hopefully it should pass the CI now. |
Still those "could not rename" errors... |
746252e
to
60363f5
Compare
Further digging led me to discover that externally installed OP-TEE specific toolchain can't be discovered within the buildroot environment. This was leading to Rust toolchain installation while building Rust examples which doesn't support parallelism. Given that I instead switched Rust toolchain installation to configure stage for Rust examples. With that I no longer observe any "could not rename" errors. Feel free to give it a retry. |
@b49020 many thanks for spending time on this nasty bug 😉 it will be good to have Rust checked in all the QEMUv8 CI jobs! |
Thanks @jforissier for your support with testing, tag applied. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One comment below.
Acked-by: Jerome Forissier <[email protected]>
Buildroot provides its own Rust toolchain for various Linux user-space components. However, that toolchain doesn't support nightly version of Rust complier which we need for OP-TEE Rust examples for the time being. Due to two separate Rust toolchains being used for different buildroot components, there are conflicts [1] [2] observed leading to CI errors. In order to fix them enable OP-TEE specific Rust toolchain specifically to build OP-TEE Rust examples rather than enabling it for the entire buildroot build. Fixes: [1] OP-TEE#727 Fixes: [2] OP-TEE#728 Acked-by: Jerome Forissier <[email protected]> Tested-by: Jerome Forissier <[email protected]> Signed-off-by: Sumit Garg <[email protected]>
Added proper comments, tag applied. |
Buildroot provides its own Rust toolchain for various Linux user-space
components. However, that toolchain doesn't support nightly version of
Rust complier which we need for OP-TEE Rust examples for the time being.
Due to two separate Rust toolchains being used for different buildroot
components, there are conflicts [1] [2] observed leading to CI errors.
In order to fix them enable OP-TEE specific Rust toolchain specifically
to build OP-TEE Rust examples rather than enabling it for the entire
buildroot build.
Fixes: [1] #727
Fixes: [2] #728
@DemesneGH fyi..