-
Notifications
You must be signed in to change notification settings - Fork 60
ch_fuse: switch SquashFUSE to libfuse3 types #1859
Conversation
The forget operation in libfuse3 takes uint64_t as third parameter, while SquashFUSE defaults to unsigned long as used in libfuse2. This causes a mess on arches with different size of these types, so explicitly switch to the libfuse3 variant. closes hpc#1858
Thanks for testing, @wiene ! I get the reason why it did not fix the problems on Debian — the necessary counterpart in Squashfuse is only present starting with 0.5.1 (see vasi/squashfuse@cb148fc ), while Debian unstable is still using 0.5.0. However, it took me a while to understand how Squashfuse itself can compile on armel / armhf (or anything 32 bit, basically) on Debian. Debian unstable on 32 bit should run into the very same problem right here: Well, it turns out when checking build logs for Squashfuse on Debian armel, for example:
So indeed they see the warning, but just ignore it / don't compile with So maybe the best way to proceed would be to raise a bug report with |
Thanks again for your careful analysis, @olifre. I followed your advice and filed a bug against |
Charliecloud’s configure does have |
Actually, I'm not fully sure this is harmless — if the That is probably really exotic, I assume one would need to do make If this is true, though, it's a harmful bug in Squashfuse, and we should push the Debian maintainer to fix it in |
After applying the patch from this PR and fixing
Charliecloud builds successfully on arm{el,hf}:
Thus this PR is ready to be merged from my point of view. |
Many thanks, @wiene! I've marked the PR as "ready for review" right now. |
The forget operation in libfuse3 takes uint64_t as third parameter, while SquashFUSE defaults to unsigned long as used in libfuse2. This causes a mess on arches with different size of these types, so explicitly switch to the libfuse3 variant.
The forget operation in libfuse3 takes uint64_t as third parameter, while SquashFUSE defaults to unsigned long as used in libfuse2. This causes a mess on arches with different size of these types, so explicitly switch to the libfuse3 variant.
closes #1858
@wiene (or someone with armhf / armel hardware): Please let me know if that indeed fixes the problem 🤞 .