-
Notifications
You must be signed in to change notification settings - Fork 17
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
Error evaluating duckdb query: Not implemented Error: Sorting is not supported on big endian architectures [ FAIL 194 | WARN 1 | SKIP 321 | PASS 972 ] #51
Comments
Thanks. We would need a way to run tests on this architecture on GitHub Actions to address these and similar issues sustainably. What's the best way? |
@krlmlr Thank you for responding. Given that the error appears to be specific to Big-endian platforms in general, presumably it should be reproducible on Linux or FreeBSD – PowerPC BE or SPARC. Of these, I believe, Linux should be rather common (of major ones Debian and Gentoo support/supported PPC BE, likely more). (Alternatively, it can be reproduced locally on macOS 10.6.8 Server in Rosetta (i.e. on any modern Intel Mac in VM). However, I mention this just for information; it is not a convenient way by any means, unless one specifically is interested in macOS on PowerPC.) |
We would have to be able to test this on GitHub Actions to support it. Can qemu emulate big-endian platforms? What's the performance hit? Even if this works, this looks like a major effort where we will likely need support for. |
Qemu certainly does. Running Big-endian Linux on it should be perfectly fine. |
Can you show an example GHA workflow that does this? |
@krlmlr Will something like this work? https://til.simonwillison.net/docker/emulate-s390x-with-qemu Also: So yes, apparently GHA can be used indeed. |
Thanks. Actions now running in https://github.com/krlmlr/wasm3/actions/runs/6525677714 to understand how they work. |
This should really be filed with duckdb mainline, but DuckDB does currently not support all operations on Big-Endian architectures, and given current hardware trends it's unlikely to add support anytime soon. Happy to review a PR on this of course. |
@hannes If you could suggest what specifically should be fixed in the sources, that will be helpful. |
It looks like there are two places where this is not supported, sorting and indexing: https://github.com/search?q=repo%3Aduckdb%2Fduckdb+Radix%3A%3AIsLittleEndian%28%29&type=code Out of curiosity, which hardware are you trying to run DuckDB on? |
@hannes The main testing machine is G5 Quad, it is pretty fast and got plenty of RAM. I have a few other PowerPC machines, but G4s are slow and pain to use for intensive tasks. So basically Quad and another PowerMac, 2.3 DC, are usable. |
@hannes I have opened the issue with |
Quite a number of tests fail on BE with identical errors:
In addition, these fail:
testthat.Rout.fail.txt
P. S.
palmerpenguins
error can be ignored, it is not installed due to this: allisonhorst/palmerpenguins#96The text was updated successfully, but these errors were encountered: