-
Notifications
You must be signed in to change notification settings - Fork 262
Test failure on Arm64 #861
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
Comments
This code is quite old and stable at this point, so my first inclination would be to look to see what's new in the environment. Has Nix been packaging for Arm64 for a few versions, or is it just starting? It would be good to know if we're seeing this because now we're looking for it, or if something else has changed. Assuming these tests aren't new, could we verify that this replicates with older versions of numpy? |
I can look into this tomorrow, but my first suspicion is that it's somehow related to long floats just as #860 was. |
It might well be something funny with long doubles. Can you put a guard in to print out what |
From examining the Hydra builds, the Arm64 build has been broken since January 2019, when we were building 2.3.1. It looks like this same test began failing with the upgrade to 2.3.3 in February 2019; the x64 build was successful during this period. |
@matthew-brett -- unfortunately I think debugging packages in this way is out of the scope of the Nixpkgs CI. If I have time I'll see about testing this on an Arm device. |
I think Travis now has ARM64 builds. We should see about enabling one. |
An ARM64 build is an excellent idea. |
This probably isn't a good solution here because nibabel already has infrastructure in place to build wheels, but I wanted to include this for future readers. Docker has the ability to build and run images for different platforms, including arm64 and ppc64le. See https://www.docker.com/blog/getting-started-with-docker-for-arm-on-linux/. Here are the steps to run nibabel on arm64 using Docker. I built an image with nibabel and pushed it to DockerHub.
Trimmed output:
|
I ran nibabel's tests on arm64, and only one failed.
To reproduce, run nibabel in an arm64 docker image:
The docker image includes numpy 1.16.2 and scipy 1.1.0. Here is the Dockerfile used to build the Docker image. |
This is the same test failure as I got on Hydra (Nixpkgs CI), so nice work creating a reprex that runs on x64. |
Numpy got I'm not likely to have much time to fiddle with this until June, but others should feel completely welcome to take a stab at it. |
Using @kaczmarj's image and running |
This should be resolved in master and will be fixed in the next bug-fix release. @bcdarwin That can come quickly, if this will be useful to Arch. If you already have a workaround, then we can wait and see if any more bugs come up before a new release. Just let me know. |
Great! It's just a question of enabling Arm builds in the Nixpkgs repo. Since I doubt there are many Arm users yet we can probably wait until a new release. Meanwhile we could potentially pull in this commit as a patch. |
I might wait until late June (after the OHBM hackathon) then, to see if anything comes up. But bug fix releases are cheap, so if it becomes useful to have an official version number with ARM support, just shout. |
… is now supported - see nipy/nibabel#861
Uh oh!
There was an error while loading. Please reload this page.
Unfortunately I can't debug since I don't have such a machine set up; the tests were run by Hydra, the CI server for Nix/Nixpkgs for this PR.
Release 3.0.0.
The text was updated successfully, but these errors were encountered: