Conversation
viraptor
left a comment
There was a problem hiding this comment.
See the failures on aarch64: https://github.com/NixOS/nixpkgs/pull/282286/checks?check_run_id=20684676737
The blake lib seems to be missing.
(Previous approval accidental :( )
This is a really strange issue, I don't know how this successfully builds and works on |
|
Ok, I figured out why it doesn't work on aarch64. Crystal's ar -t /nix/store/kh4kh9qczdw0lpmrm9pjg499bqh6iq5p-blake3.cr/blake3c/libblake3.a
blake3.o
blake3_dispatch.o
blake3_portable.o
blake3_sse2.o
blake3_sse41.o
blake3_avx2.o
blake3_avx512.o
blake3_sse2_x86-64_unix.S
blake3_sse41_x86-64_unix.S
blake3_avx2_x86-64_unix.S
blake3_avx512_x86-64_unix.SThere is a blake3_neon.o: blake3_neon.c
$(CC) $(CFLAGS) $(EXTRAFLAGS) -c $^ -o $@But I don't know, how to redefine this target. I can manually replace |
|
FWIW, the flatpak solution was to just pass env vars so it builds the neon target only on aarch64 https://github.com/flathub/dev.geopjr.Collision/blob/master/dev.geopjr.Collision.yaml#L43-L47 |
28b4240 to
10efd53
Compare
Hi, GeopJr. Thank you for your help. Unfortunately, if [ "$ARCH" == "x86_64" ]; then
make -f ../build/Makefile
elif [ "$ARCH" == "aarch64" ]; then
BLAKE3_USE_NEON=1 make -f ../build/Makefile blake3_neon.o
else
echo "Unsupported architecture: $ARCH"
cd ..
exit 1
fi |
10efd53 to
9f1f5a6
Compare
|
It works now, thanks to @GeopJr for advice with the environment variables. |
|
@ofborg eval |
Nice catch thanks! I don't like that it relies on a postinstall script either :/ |
|
Released 3.7.1, it should now have fixed the issues! Please make blake.cr a regular shard again. At compile time it only requires a C compiler to be available for blake3c. It should also build the correct target for aarch64 automatically |
9f1f5a6 to
2240d07
Compare
2240d07 to
f49819d
Compare
|
I spent so much time building, but nothing worked. |
|
I can't setup a nix environment at the moment so I'll try to describe the build steps if it helps at all, otherwise do what you believe it's best! When the crystal compiler builds collision, in the preprocessing phase, it will check if From my understanding based on your last comment, the problem is here, Some other stuff might worth looking into:
No idea if anything else can be done from my side and don't really want to waste more of your time with more patch releases so I'd say go ahead and package it however you see fit and when I setup nix again I'll revisit it! Thanks again! |
Thank you for your help, GeopJr! It's 100% a nix problem. This is not feedback about your update, but simply a report on the work done.
I think it's all
The main problem is that I can build |
The script does respect them https://github.com/GeopJr/blake3.cr/blob/main/src/compile_blake3.cr#L22-L23 maybe it shouldn't? if nix allows you to, you could try to unset them or set them to the ones from the script |
|
In general, I figured it out. All the problems were due to symlinks. For some reason, crystal did not run the I will make changes to the current PR as soon as crystal's PR is merged. |
f49819d to
d12965b
Compare
d12965b to
2b895f2
Compare
|
Damn, I broke the branch I think. How to fix it? |
2b895f2 to
a7b5f7f
Compare
715c913 to
c99aed4
Compare
|
Okay, that's fixed now. |
viraptor
left a comment
There was a problem hiding this comment.
I'm not near a machine that can test it, but it looks good 👍
c99aed4 to
75bff6e
Compare
|
I forget to remove gi-crystal from inputs |
|
@viraptor could you please review the changes related to the new collision version? Collision still broken in nixpkgs, so we want to fix it before 24.05 released. |
Description of changes
Update version and install
nautilus-pythonextension.Things done
nix.conf? (See Nix manual)sandbox = relaxedsandbox = truenix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)Add a 👍 reaction to pull requests you find important.