apache / incubator-teaclave-trustzone-sdk

Teaclave TrustZone SDK enables safe, functional, and ergonomic development of trustlets.
https://teaclave.apache.org
Apache License 2.0
202 stars 57 forks source link

Build issues on aarch64 Linux hosts #135

Open msgilligan opened 1 month ago

msgilligan commented 1 month ago

I've been trying to build OP-TEE with Rust on an aarch64 Linux host. (Mostly Debian Bookworm in a VM on MacBook M1)

I've run into at least three issues so far and made a PR for one of them:

751 is not Rust-related, and is easily worked around with WITH_CXX_TESTS=n, but 752 is Rust-related and if anyone has any ideas on how to fix it, I would greatly appreciate hearing them.

msgilligan commented 1 month ago

We are making progress on this issue. Two of the three sub-issues above are now solved. Only https://github.com/OP-TEE/build/issues/752 remains.

msgilligan commented 1 month ago

I have reproduced this issue by following the instructions in this project's README.md on an aarch64 Linux (Debian) machine.

See Related PR #137.

msgilligan commented 4 weeks ago

I have created a multi-architecture Dockerfile/containerFile that works correctly under AMD64 (x86_64) and exhibits the linker error we have been seeing under ARM64 (aarch64) and uploaded it in a gist: https://gist.github.com/msgilligan/a36d61953d2caf60d33d233fed281c7b

Note that the exact error is ld.bfd: cannot find -lgcc_s: No such file or directory (In some earlier test configurations that I used the _s wasn't present.)