Open RobbeHogent opened 5 years ago
Either use FUSE 2 (configure with ccmake .) or install FUSE 3, probably something like libfuse3-dev
I had already tried to configure it with fuse 2 without success and now I tried to install libfuse3-dev but the package can't be found.
You might look over here: https://github.com/libfuse/libfuse/releases
You couldn't configure it for fuse 2? In the build directory, do the following:
cmake ..
ccmake .
USE_FUSE3
, and if it is not set to OFF
, hit enterc
to configureg
to generate Makefile and exit ccmakemake
No I couldn't because I did it like you described above, but it gave me an error that I should use fuse 3
Ah, so you are using a 32 bit system. Well I'm sorry, but due to 64 bit inode numbers, you need either a 64 bit system or FUSE 3. You could download and build fuse 3 manually. Version 3.1.1 is the last version not needing any special build tools like meson or ninja.
You could also just comment out that line complaining about fuse 3, but at your own risk. If your APFS volume has not been converted from HFS+, it should work. Otherwise, you might run into issue #76. I put that line about fuse 3 there for exactly that reason ...
I will probably try to build the libfuse 3lib. I'm actually trying to install this on a raspberry pi running on the raspbian os (indeed a 32 bit os) . Some say that it can also run 64 oses. Could it be an option to install a 64 bit os on the raspberry and then retry the installation?
Yes, that could be an option as well. Building FUSE 3 isn't too hard either.
Then I'll check that option first. Thanks for the help!
You couldn't configure it for fuse 2? In the build directory, do the following:
- Execute
cmake ..
- Execute
ccmake .
- Navigate to
USE_FUSE3
, and if it is not set toOFF
, hit enter- Press
c
to configure- Press
g
to generate Makefile and exit ccmake- Execute
make
This worked for me. Maybe that option should be set to OFF by default as it would not compile if you just follow the installation instructions
problem still exists.
Using Linux Mint:
ryan@ADATA-PC:~/apfs-fuse/build$ sudo apt search libfuse
i libfuse-dev - Filesystem in Userspace (development)
p libfuse-dev:i386 - Filesystem in Userspace (development)
p libfuse-perl - Perl bindings for FUSE (Filesystems in USE
p libfuse-perl:i386 - Perl bindings for FUSE (Filesystems in USE
i libfuse2 - Filesystem in Userspace (library)
p libfuse2:i386 - Filesystem in Userspace (library)
This needs to be handled in the make script, no? Installation should make use of whatever fuse is installed when following the installation instructions. Otherwise the instructions are a big fat lie.
Also, ccmake .
does not work, because it is not installed by default and is not included in the installation instructions.
ryan@ADATA-PC:~/apfs-fuse/build$ ccmake .
Command 'ccmake' not found, but can be installed with:
sudo apt install cmake-curses-gui
You couldn't configure it for fuse 2? In the build directory, do the following:
1. Execute `cmake ..` 2. Execute `ccmake .` 3. Navigate to `USE_FUSE3`, and if it is not set to `OFF`, hit enter 4. Press `c` to configure 5. Press `g` to generate Makefile and exit ccmake 6. Execute `make`
If by
`c` to configure
they meant "write to file" then the ccmake app utterly failed to express their intentions in the command. Gotta love half-baked attempts at communication.
[...]
- Navigate to
USE_FUSE3
, and if it is not set toOFF
, hit enter [...]This worked for me. Maybe that option should be set to OFF by default as it would not compile if you just follow the installation instructions
Indeed, I also just had to do this on 64-bit Ubuntu 18.04, since libfuse-dev
doesn't install the FUSE3 headers. +1 for making USE_FUSE3=OFF
the default.
@sgan81 It really does just seem like the README needs updating; the binaries aren't even stored in bin
, contrary to what the README says. Rather, they just end up directly under build
, e.g. build/apfs-fuse
.
For me installing libfuse3-dev
installs the FUSE3 headers and I was able to successfully compile the project
Just hit this problem. It's a bit of a Catch 22, as the README states Fuse 3 is required for 32-bit, but, at least with Ubuntu, Bionic is the last release for 32-bit and Fuse 3 doesn't seem to be available for bionic. Has anyone found a way through this? (Going to look into building fuse 3, but hoping someone's already packaged it.)
apt-get install libfuse3-dev
@meiying-ghost "...Fuse 3 doesn't seem to be available for bionic..."
Or rather, libfuse3-dev
is not an available package for bionic. i did get fuse 3 to build from source, but it's not simply an 'apt install' thing on bionic or previous 32-bit Ubuntu. Beyond 18.n, 32-bit isn't supported at all. It might be orth updating the README to state that on Ubuntu 32-bit, fuse3 must be built from source.
The libfuse-dev
package is present in Ubuntu Bionic in the main
repo. A simple sudo apt install libfuse-dev
should work. If it doesn't, you can download a .deb
package for i386 here. The FUSE3 libraries are not in the Ubuntu repos for any current version of Ubuntu.
@jivanpal This is a libfuse3 problem. That package doesn’t provide fuse3/fuse.h:
https://packages.ubuntu.com/bionic/i386/libfuse-dev/filelist
You couldn't configure it for fuse 2? In the build directory, do the following:
- Execute
cmake ..
- Execute
ccmake .
- Navigate to
USE_FUSE3
, and if it is not set toOFF
, hit enter- Press
c
to configure- Press
g
to generate Makefile and exit ccmake- Execute
make
Bingo! Thanks Simon.
Libfuse3 is in Ubuntu disco and Debian buster
Either use FUSE 2 (configure with ccmake .) or install FUSE 3, probably something like libfuse3-dev
Thank you sgan81!, Installing FUSE 3 with sudo apt install libfuse3-dev, worked out for me!. Great contribution this project!. Congratulations and thank you!.
Ubuntu 20.04
needed sudo apt install libfuse3-dev
and sudo apt-get install libbz2-dev
This worked for me (Ubuntu/Pop! OS 20.10):
sudo apt install fuse3 && sudo apt install libfuse3-dev
I have downloaded the libfuse-dev package but I still get the error "fatal error: fuse3/fuse.h". Does this mean I have to manually install the fuse3 library? I thought it was included in the libfuse-dev package?