-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
unable to build glibc for target armv8-linux-gnueabihf #3287
Comments
* add zig build option `-Dskip-libc` to skip tests that build libc (e.g. if you don't want to wait for musl to build) * add `-Denable-wine` option which uses wine to run cross compiled windows tests on non-windows hosts * add `-Denable-qemu` option which uses qemu to run cross compiled foreign architecture tests * add `-Denable-foreign-glibc=path` option which combined with `-Denable-qemu` enables running cross compiled tests that link against glibc. See https://github.com/ziglang/zig/wiki/Updating-libc#glibc for how to produce this directory. * the test matrix is done manually. release test builds are only enabled by default for the native target. this should save us some CI time, while still providing decent coverage of release builds. - add test coverage for `x86_64-linux-musl -lc` (building musl libc) - add test coverage for `x86_64-linux-gnu -lc` (building glibc) - add test coverage for `aarch64v8_5a-linux-none` - add test coverage for `aarch64v8_5a-linux-musl -lc` (building musl libc) - add test coverage for `aarch64v8_5a-linux-gnu -lc` (building glibc) - add test coverage for `arm-linux-none` - test coverage for `arm-linux-musleabihf -lc` (building musl libc) is disabled due to #3286 - test coverage for `arm-linux-gnueabihf -lc` (building glibc) is disabled due to #3287 - test coverage for `x86_64-windows-gnu -lc` (building mingw-w64) is disabled due to #3285 * enable qemu testing on the Linux CI job. There's not really a good reason to enable wine, since we have a Windows CI job as well. * remove the no longer needed `--build-file ../build.zig` from CI scripts * fix bug in glibc compilation where it wasn't properly reading the abi list txt files, resulting in "key not found" error. * std.build.Target gains: - isNetBSD - isLinux - osRequiresLibC - getArchPtrBitWidth - getExternalExecutor * zig build system gains support for enabling wine and enabling qemu. `artifact.enable_wine = true;`, `artifact.enable_qemu = true;`. This communicates that the system has these tools installed and the build system will use them to run tests. * zig build system gains support for overriding the dynamic linker of an executable artifact. * fix std.c.lseek prototype. makes behavior tests for arm-linux-musleabihf pass. * disable std lib tests that are failing on ARM. See #3288, #3289 * provide `std.os.off_t`. * disable some of the compiler_rt symbols for arm 32 bit. Fixes compiler_rt tests for arm 32 bit * add __stack_chk_guard when linking against glibc. Fixes std lib tests for aarch64-linux-gnu * workaround for "unable to inline function" using `@inlineCall`. Fixes compiler_rt tests for arm 32 bit.
@andrewrk is there any update on this or a workaround? |
@leventov The solution to this (and many more related issues) has been mentioned by @LemonBoy in #4926 (comment), but it still has to be done. |
If anybody finds this because of the missing I got my code to build by adding the missing header with a |
Can confirm @fwg's solution works. Here's how to get a Nix zig = zig-overlay.packages.${system}."0.9.0".overrideAttrs (old: {
installPhase = let
armFeatures = builtins.fetchurl {
url = "https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=sysdeps/arm/arm-features.h;h=80a1e2272b5b4ee0976a410317341b5ee601b794;hb=0281c7a7ec8f3f46d8e6f5f3d7fca548946dbfce";
name = "glibc-2.35_arm-features.h";
sha256 = "1g4yb51srrfbd4289yj0vrpzzp2rlxllxgz8q4a5zw1n654wzs5a";
};
in old.installPhase + "\ncp ${armFeatures} $out/lib/libc/glibc/sysdeps/arm/arm-features.h";
});
|
Perhaps not, but it is my duty to test & verify patches from first-time contributors. I also need to run the test suite for armv8-linux-gnueabihf and find out if the tests then pass and if so, enable more CI test coverage. |
With #12346 merged, should this be closed? |
This issue can be closed when the corresponding tests are enabled: Lines 235 to 242 in c0284e2
|
After this works, test coverage can be added.
The text was updated successfully, but these errors were encountered: