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

Failed to make TabFS even though macFUSE 4.0.4 being installed. #11

Open
harukaeru opened this issue Jan 1, 2021 · 10 comments
Open

Failed to make TabFS even though macFUSE 4.0.4 being installed. #11

harukaeru opened this issue Jan 1, 2021 · 10 comments

Comments

@harukaeru
Copy link

The below is the error message as I try to install TabFS.

$ cd fs
$ make
cc -I/usr/local/include/osxfuse/fuse -L/usr/local/lib -D_DARWIN_USE_64_BIT_INODE -DFUSE_USE_VERSION=26 -D_FILE_OFFSET_BITS=64 -Wall -Wno-unused-function -g -o tabfs tabfs.c -losxfuse
ld: library not found for -losxfuse
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [tabfs] Error 1

Apparently, macFUSE 4.0.4 set a header file as /usr/local/include/fuse/fuse.h, not /usr/local/include/osxfuse/fuse.h.
image

That is why, in my case, I edited Makefile and changed a line LIBS = -losxfuse into LIBS = -lfuse. It seems to work so far.
Actually, this resolved my problem. However I wanted to share this problem because there should be some instructions about this case on documentation for the convenience to other users.

@harukaeru harukaeru changed the title Failed to install TabFS even though macFUSE 4.0.4 being installed. Failed to make TabFS even though macFUSE 4.0.4 being installed. Jan 1, 2021
@wuharvey
Copy link

wuharvey commented Jan 2, 2021

Thanks for this - ran into the exact same issue.

@andrewjuey
Copy link

this fix worked perfectly

@junhoyeo
Copy link

junhoyeo commented Jan 2, 2021

$ make
cc -I/usr/local/include/osxfuse/fuse -L/usr/local/lib -D_DARWIN_USE_64_BIT_INODE -DFUSE_USE_VERSION=26 -D_FILE_OFFSET_BITS=64 -Wall -Wno-unused-function -g -o tabfs tabfs.c -l osxfuse
ld: library not found for -losxfuse
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [tabfs] Error 1

I was facing the same issue like above, and then this worked for me too.

@sitz
Copy link

sitz commented Jan 2, 2021

I had the same issue while running make even after installing as described at osxfuse/osxfuse.

Managed to get it working by installing from Homebrew directly, Ref.
brew install --cask osxfuse

@ebridges
Copy link

ebridges commented Jan 2, 2021

I worked around this issue by symlinking the lib so that it didn't have the .2 in the filename:

# cd /usr/local/lib
# ln -s libosxfuse.2.dylib libosxfuse.dylib

@osnr
Copy link
Owner

osnr commented Jan 2, 2021

thanks! I've linked this issue from the page for now.

I probably need to go through this whole install process end to end on my (clean) other laptop and figure out a pathway that definitely works on Mac, so I can properly update the doc -- it seems like there are like least 3 different ones that have come up just in this thread (and maybe some people already have FUSE installed, etc).

@BenjaminHCCarr
Copy link

Another vote for @harukaeru 's fix:

edited Makefile and changed a line LIBS = -losxfuse to LIBS = -lfuse

This is with both OSXFiuse 3.12 from HomeBrew and 4.0.2 from osxfuse from github

@osnr osnr closed this as completed in 5905852 Jan 4, 2021
@erikcw
Copy link

erikcw commented Jan 4, 2021

Just tried upgrading to the latest version and am now getting the following error from make:

➜  fs git:(master) ls /usr/local/lib/*fuse*
/usr/local/lib/libfuse.0.dylib            /usr/local/lib/libmacfuse_i64.2.dylib     /usr/local/lib/libosxfuse_i32.2.dylib
/usr/local/lib/libfuse.2.dylib            /usr/local/lib/libmacfuse_i64.dylib       /usr/local/lib/libosxfuse_i32.dylib
/usr/local/lib/libfuse.dylib              /usr/local/lib/libosxfuse.2.7.3.dylib     /usr/local/lib/libosxfuse_i32.la
/usr/local/lib/libfuse_ino64.2.dylib      /usr/local/lib/libosxfuse.2.dylib         /usr/local/lib/libosxfuse_i64.2.7.3.dylib
/usr/local/lib/libfuse_ino64.dylib        /usr/local/lib/libosxfuse.dylib           /usr/local/lib/libosxfuse_i64.2.dylib
/usr/local/lib/libmacfuse_i32.2.dylib     /usr/local/lib/libosxfuse.la              /usr/local/lib/libosxfuse_i64.dylib
/usr/local/lib/libmacfuse_i32.dylib       /usr/local/lib/libosxfuse_i32.2.7.3.dylib /usr/local/lib/libosxfuse_i64.la
➜  fs git:(master) make
cc -O2 -I/usr/local/include -L/usr/local/lib -D_DARWIN_USE_64_BIT_INODE -DFUSE_USE_VERSION=26 -D_FILE_OFFSET_BITS=64 -Wall -Wextra -Wno-unused-result -g  -o tabfs tabfs.c -lfuse
tabfs.c:16:10: fatal error: 'fuse.h' file not found
#include <fuse.h>
         ^~~~~~~~
1 error generated.
make: *** [tabfs] Error 1
➜  fs git:(master)

Built without issue last week.

@shawntax
Copy link

shawntax commented Jan 4, 2021

@erikcw Looks like you're on a mac -- what version of macFUSE are you using? I ran into this as well, and it helped me to:

  1. Update to the latest version of macFuse (4.0.5). I installed originally with homebrew, so I ended up removing the osxfuse cask and installing the dmg from their website.

  2. Follow @ebridges suggestion above to symlink the fuse lib to remove the .2:

    cd /usr/local/lib
    ln -s libosxfuse.2.dylib libosxfuse.dylib
    

Reboot for good measure, and verify your macFuse version by going to System Preferences > macFUSE

@erikcw
Copy link

erikcw commented Jan 4, 2021

@shawntax That did it. homebrew was installing macFuse 3.x.

Did not end up needed the symlink in step 2.

Thank you!

@osnr osnr reopened this Jan 4, 2021
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

10 participants