Skip to content

Update libfuse and squashfuse dependencies #127

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

enzo1982
Copy link

Update libfuse and squashfuse to their latest releases.

The libfuse update is a prerequisite for #126.

@probonopd
Copy link
Member

What is the rationale for the changes besides the version update?

Copy link

Build for testing:
artifacts i686
artifacts x86_64
artifacts armhf
artifacts aarch64
Use at your own risk.

@enzo1982
Copy link
Author

What is the rationale for the changes besides the version update?

  1. Passing -Dexamples=false when building libfuse is because building the memfs_ll example fails in your build environment with:
#11 4.719 ../example/memfs_ll.cc: In function 'void memfs_rename(fuse_req_t, fuse_ino_t, const char*, fuse_ino_t, const char*, unsigned int)':
#11 4.719 ../example/memfs_ll.cc:906:22: error: 'RENAME_EXCHANGE' was not declared in this scope
#11 4.719   906 |         if (flags & (RENAME_EXCHANGE | RENAME_NOREPLACE)) {
#11 4.719       |                      ^~~~~~~~~~~~~~~
#11 4.719 ../example/memfs_ll.cc:906:40: error: 'RENAME_NOREPLACE' was not declared in this scope
#11 4.719   906 |         if (flags & (RENAME_EXCHANGE | RENAME_NOREPLACE)) {
#11 4.719       |                                        ^~~~~~~~~~~~~~~~
  • I'm not sure why this happens. It compiles fine on my Ubuntu setup and on FreeBSD 13/14. According to the Linux manpage, including stdio.h and fcntl.h (which memfs_ll.cc does) should be enough to define those constants, but apparently that's not true on Alpine Linux.
  1. The previous version used the GitHub auto generated repo snapshot of squashfuse 0.5.2. With the PR I'm switching this to the official release tarball. The repo snapshot does not have a configure script while the release tarball has; thus running autogen.sh is no longer necessary.

  2. The mount.c patch is updated to adjust for changes in libfuse's mount.c. No functional changes.

@probonopd probonopd requested a review from TheAssassin June 26, 2025 06:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants