Skip to content
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

fatal error: fuse3/fuse.h No such file or directory #87

Open
RobbeHogent opened this issue May 2, 2019 · 25 comments
Open

fatal error: fuse3/fuse.h No such file or directory #87

RobbeHogent opened this issue May 2, 2019 · 25 comments
Assignees

Comments

@RobbeHogent
Copy link

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?

@sgan81
Copy link
Owner

sgan81 commented May 4, 2019

Either use FUSE 2 (configure with ccmake .) or install FUSE 3, probably something like libfuse3-dev

@sgan81 sgan81 self-assigned this May 4, 2019
@RobbeHogent
Copy link
Author

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.

@Banaanhangwagen
Copy link

You might look over here:
https://github.com/libfuse/libfuse/releases

@sgan81
Copy link
Owner

sgan81 commented May 8, 2019

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

@RobbeHogent
Copy link
Author

No I couldn't because I did it like you described above, but it gave me an error that I should use fuse 3

@sgan81
Copy link
Owner

sgan81 commented May 8, 2019

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 ...

@RobbeHogent
Copy link
Author

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?

@sgan81
Copy link
Owner

sgan81 commented May 8, 2019

Yes, that could be an option as well. Building FUSE 3 isn't too hard either.

@RobbeHogent
Copy link
Author

Then I'll check that option first.
Thanks for the help!

@Iaxama
Copy link

Iaxama commented May 15, 2019

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

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

@AMDphreak
Copy link

AMDphreak commented Oct 16, 2019

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

@AMDphreak
Copy link

AMDphreak commented Oct 16, 2019

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.

@jivanpal
Copy link

jivanpal commented Oct 23, 2019

[...]
3. Navigate to USE_FUSE3, and if it is not set to OFF, 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.

@jivanpal
Copy link

@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.

@LithiumH
Copy link

For me installing libfuse3-dev installs the FUSE3 headers and I was able to successfully compile the project

@changeling
Copy link

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.)

@meiying-ghost
Copy link

apt-get install libfuse3-dev

@changeling
Copy link

@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.

@jivanpal
Copy link

jivanpal commented Dec 17, 2019

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.

@changeling
Copy link

@jivanpal This is a libfuse3 problem. That package doesn’t provide fuse3/fuse.h:

https://packages.ubuntu.com/bionic/i386/libfuse-dev/filelist

@tuklusan
Copy link

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

Bingo! Thanks Simon.

@Deiiji
Copy link

Deiiji commented Mar 15, 2020

Libfuse3 is in Ubuntu disco and Debian buster

@americo677
Copy link

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!.

@jswhisperer
Copy link

Ubuntu 20.04
needed sudo apt install libfuse3-dev and sudo apt-get install libbz2-dev

@B1QUAD
Copy link

B1QUAD commented Dec 20, 2020

This worked for me (Ubuntu/Pop! OS 20.10):

sudo apt install fuse3 && sudo apt install libfuse3-dev

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

No branches or pull requests