-
Notifications
You must be signed in to change notification settings - Fork 625
Description
I have a use-case where my cluster has one x86_64 machine, and one aarch64 machine, so I came up with the following config where the archive is created using icecc-create-env:
[dist]
scheduler_url = "..."
[[dist.toolchains]]
type = "path_override"
compiler_executable = "/usr/bin/cc"
archive = "/path/to/toolchain/2f1c55dd08382282fbce3a5807e59436.tar.gz"
archive_compiler_executable = "/usr/bin/gcc"
[[dist.toolchains]]
type = "path_override"
compiler_executable = "/usr/bin/c++"
archive = "/path/to/toolchain/2f1c55dd08382282fbce3a5807e59436.tar.gz"
archive_compiler_executable = "/usr/bin/g++"
[dist.auth]
type = "token"
token = "..."The archive contains a cross-compiler built for aarch64, so distributing jobs from the x86_64 machine to the other machine works fine. However when the x86_64 machine runs it's own local jobs, it fails because it tries to re-use the same toolchain which was built for a different architecture.
Ideally sccache should support something like ICECC_VERSION (eg. ICECC_VERSION=aarch64:/path/to/toolchain/2f1c55dd08382282fbce3a5807e59436.tar.gz) to specify toolchains per-architecture.
Would something like this be considered under the project's scope? If so, would be happy to work on it :)