Hello fellow Geekos.
I was trying to build rusty_v8 and noticed a problem.
- the build logic they have only runs on x86_64
- they build other artefacts for other architectures by cross-compiling with
--target= flag
Now, the problem is, I am not too confident if that’s possible in OpenBuildService to support such a method of building crossed-compiled artefacts.
Currently, I was trying to just use aarch64 workers but that failed because the rust toolchain provided by chromium which is used on rusty_v8 only has x86_64 for Linux platform.
Does anyone have any knowledge on the possibility of building aarch64 artefacts from another architecture?
Thanks!
Best,
Soc
They only support android aarch64/x86_64?
in my investigation, they support Linux aarch64 but through --target flag because I have seen it in my build logs (still fails though because some issue with linking??). i also know this because the file located at v8/DEPS has the following lines
'third_party/rust-toolchain': {
'dep_type': 'gcs',
'bucket': 'chromium-browser-clang',
'objects': [
{
'object_name': 'Linux_x64/rust-toolchain-a4cfac7093a1c1c7fbdb6bc75d6b6dc4d385fc69-2-llvmorg-22-init-17020-gbd1bd178.tar.xz',
'sha256sum': '5ca1ca6268ce2dcfe878c623f0f49e4eba983bb36e79ceddb9c745ef48efc933',
'size_bytes': 140484296,
'generation': 1765411196238822,
'condition': 'host_os == "linux"',
},
{
'object_name': 'Mac/rust-toolchain-a4cfac7093a1c1c7fbdb6bc75d6b6dc4d385fc69-2-llvmorg-22-init-17020-gbd1bd178.tar.xz',
'sha256sum': '26f095b3217e9619d6172bdc4b7329e51ebe2fb7508a313b8c3a6fce21416170',
'size_bytes': 135435424,
'generation': 1765411198122573,
'condition': 'host_os == "mac" and host_cpu == "x64"',
},
{
'object_name': 'Mac_arm64/rust-toolchain-a4cfac7093a1c1c7fbdb6bc75d6b6dc4d385fc69-2-llvmorg-22-init-17020-gbd1bd178.tar.xz',
'sha256sum': '64d5fb112d809b1c4a047ef7bd99e88534de470b82d86ce6ad729b12c5611488',
'size_bytes': 122796960,
'generation': 1765411200047613,
'condition': 'host_os == "mac" and host_cpu == "arm64"',
},
{
'object_name': 'Win/rust-toolchain-a4cfac7093a1c1c7fbdb6bc75d6b6dc4d385fc69-2-llvmorg-22-init-17020-gbd1bd178.tar.xz',
'sha256sum': 'a3cf74c96f7959a8507786665c23a2fb8ac67f107279ef888a8d3da066c0bca5',
'size_bytes': 198058716,
'generation': 1765411201950690,
'condition': 'host_os == "win"',
},
],
},
The have disabled intentionally, looks like no plans to re-enable?
https://github.com/denoland/rusty_v8/issues/591
Some digging seems to point correctly to my guess
[
](https://github.com/denoland/rusty_v8/pull/628)
Looking at the workflow, I can see that it’s probably x86_64 ubuntu container with a target flag set to aarch64 for cross compile. i tried this attempt but it fails because the rust toolchain in openSUSE does not have the dependencies to allow cross compiling hence the error message that i might have forgotten to run “rustup add target aarch64-unknown-linux-gnu”
Currently, I disabled the aarch64 builds. So thats that. I guess no solutions for now.