-
Notifications
You must be signed in to change notification settings - Fork 251
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
Fix build of auxvec.rs on FreeBSD/powerpc64 #765
Conversation
``` error[E0432]: unresolved import `mem` --> src/libstd/../stdsimd/crates/std_detect/src/detect/os/freebsd/auxvec.rs:45:9 | 45 | use mem; | ^^^ no `mem` external crate error: aborting due to previous error For more information about this error, try `rustc --explain E0432`. error: Could not compile `std`. ``` Tested by @pkubaj in https://reviews.freebsd.org/D20332
Can you also add a couple of build jobs for these targets ? Check out the |
Unlikely to happen anytime soon from my side. powerpc64 support is not a high priority for me (I don't even have hardware). Maybe @pkubaj or @MikaelUrankar can do it. |
Without having at least a build job that makes sure that these targets build correctly, chances are that the next commit to stdsimd will break them again. |
Do we need to donate some hardware (local or remote) for this? I can't do that myself, but I could talk with Raptor Engineering about that, maybe they could give some VPS for tests. |
You should be able to just cross-compile to the targets from Linux on travis. That should check that they at least build without build errors. Running tests is a different story, but with Cirrus-CI you have native FreeBSD 12 amd64 VMs, so you can test i686 and x86_64-unknown-freebsd there. For ppc64 and aarch64 on FreeBSD, you could run qemu-user or similar natively in the FreeBSD12 VMs just like we do on our linux vms. |
|
Damn. Do you know if it works for aarch64 ? |
@MikaelUrankar probably knows :) |
No, qemu-user is broken and not actively maintained on our side. |
Is there an alternative on FreeBSD ? I suppose jails only work for the same target as the host right ? |
You are correct for the jails. You can still run a guest with "full emulation" with qemu-system-ppc64 or qemu-system-aarch64 but it's damn slow. |
Does freebsd have a cross-compilation toolchain (with headers, etc.) from If we had to compile under qemu-system, e.g., because there is no cross-compilation toolchain, then that would be impractically slow. |
I used clang to cross compile rust for armv6/7/8 using the documentation at [1] For powerpc64, it's possible to cross compile C code but not C++ (I had to 'ssh' build jobs on my powermac g5 to cross-compile rust) [1] https://gist.github.com/dumbbell/b587da50ef014078da9e732a4331ebad |
So for |
Add powerpc64-unknown-freebsd target Per rust-lang/stdarch#765 add powerpc64-unknown-freebsd to prevent further breakages.
Add powerpc64-unknown-freebsd target Per rust-lang/stdarch#765 add powerpc64-unknown-freebsd to prevent further breakages.
Add powerpc64-unknown-freebsd target Per rust-lang/stdarch#765 add powerpc64-unknown-freebsd to prevent further breakages.
Add powerpc64-unknown-freebsd target Per rust-lang/stdarch#765 add powerpc64-unknown-freebsd to prevent further breakages.
Tested by @pkubaj in https://reviews.freebsd.org/D20332