-
Notifications
You must be signed in to change notification settings - Fork 269
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
cross building from x86_64 #164
Comments
not what you're asking, but:
you should only use versions that have an associated directory below patches/ , otherwise the compiler created will have all sorts of issues as it will lack critical compatibility patches for musl. |
I revert to use right version, but still have issue Some logs : https://github.com/Ludea/speedupdate-rs/actions/runs/3205211691/jobs/5237438973 |
Still have something broken with your config:
Remove the
There's a long-standing issue with GCC that has been surfaced on (at least) canadian-cross aarch64 builds. A link to an old GCC mention - this exhibits as undefined references to
The
Remove this patch for the final native aarch64 toolchain. If it's not removed for the final round of compilation, I'm not sure what the resulting compiler will do when mtune/march/etc. is set to native/local CPU. This leads to the next issue: during compilation of the final native aarch64 compiler, the cross-compiler running on x86_64 and targeting aarch64 will possibly (likely?) generate code that needs to run on x86_64 but is compiled for aarch64. Unless qemu-user is installed and working, this will probably fail. It'll be slow even if it works. Finally, you probably shouldn't mix binaries for different architectures in the same installation directory. While it shouldn't hurt anything, it's asking for trouble. Here's how I'd go about achieving what you're aiming for here. Note that you will probably need the
config.mak snippets for each of the compiler building steps, dropping stuff into native x86_64 bootstrap musl compiler
native x86_64 musl compiler
native musl cross compiler targeting aarch64
native aarch64 musl compiler
This will drop compilers into their own directories - Note that I can't guarantee that any of this will work, nor can I say the middle aarch64 or resultant aarch64 compiler running on and targeting aarch64 is 100% trustable. For GCC at least, compiling natively, or at least on the same family of CPU (i.e., i686->x86_64, armhf->aarch64, etc.), is still the recommended approach I believe. |
Yes, I started with your fork. |
Are you trying to download them from inside of GitHub Actions or CI pipelines? See here: https://github.com/orgs/community/discussions/27906 |
I try from Github action |
I'm interresting about some instructions to build it from Ubuntu ;-)
I fix it, by upload your archive to a static file provider and download the toolchain from it |
Hi,
I try to build musl toolchain from an x86_64 host to an aarch64 hosts.
My config.mak:
I get:
configure: error: in `/home/runner/work/musl-cross-make/build/local/aarch64-linux-musl/obj_binutils': configure: error: C compiler cannot create executables
If I delete
COMMON_CONFIG += CC="aarch64-linux-musl-gcc -static --static" CXX="aarch64-linux-musl-g++ -static --static"
build is successful.I miss something ? or build is broken with static flag ?
The text was updated successfully, but these errors were encountered: