osnr / TabFS

🗄 Mount your browser tabs as a filesystem.
https://omar.website/tabfs/
GNU General Public License v3.0
3.82k stars 106 forks source link

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

Open harukaeru opened 3 years ago

harukaeru commented 3 years ago

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.

wuharvey commented 3 years ago

Thanks for this - ran into the exact same issue.

andrewjuey commented 3 years ago

this fix worked perfectly

junhoyeo commented 3 years ago
$ 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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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

erikcw commented 3 years ago

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 commented 3 years ago

@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 commented 3 years ago

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

Did not end up needed the symlink in step 2.

Thank you!