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

First-time OS X users hit FUSE error during standard go install procedure #595

Closed
btc opened this issue Jan 18, 2015 · 9 comments
Closed
Assignees
Labels
kind/bug A bug in existing code (including security flaws)
Milestone

Comments

@btc
Copy link
Contributor

btc commented Jan 18, 2015

The issue is fixed by installing FUSE

Either ...
a) instruct users to install FUSE first
b) remove the need for FUSE on go install
c) Is there another way to satisfy the need for the headers without having FUSE installed? (is this a sensible question?)

go get -u github.com/jbenet/go-ipfs/cmd/ipfs
cd $GOPATH/src/github.com/jbenet/go-ipfs/cmd/ipfs
cd cmd/ipfs && go install
# github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-fuse-version
../../Godeps/_workspace/src/github.com/jbenet/go-fuse-version/version_darwin.go:6:11: fatal error: 'fuse/fuse.h' file not found
#include <fuse/fuse.h>
         ^
1 error generated.
make: *** [install] Error 2
@btc btc added the kind/bug A bug in existing code (including security flaws) label Jan 18, 2015
@jbenet
Copy link
Member

jbenet commented Jan 18, 2015

good find, this is super annoying for our poor users.

relevant discussion on irc starting at https://botbot.me/freenode/ipfs/2015-01-18/?msg=29902881&page=5

@whyrusleeping
Copy link
Member

@jbenet This is alpha priority, yeah? (trying to make sure all alpha relevant issues/PRs are marked under the milestone)

@jbenet
Copy link
Member

jbenet commented Jan 20, 2015

Yeah i think so. what was the approach we settled on?

@whyrusleeping
Copy link
Member

Yeah, we decided we wanted to make go-fuse-version a separate binary, and when you try to mount on OSX, it would check for the binary, and prompt the user to install it if missing. Once the binary is present, we just exec it to see if the user has a compatible version of fuse installed

@jbenet
Copy link
Member

jbenet commented Jan 20, 2015

we can probably install it as part of make install or something.

@whyrusleeping
Copy link
Member

A couple caveats with that, Its only required on OSX, and it requires the user have the proper FUSE headers installed.

@btc btc self-assigned this Jan 22, 2015
@btc btc modified the milestone: α Jan 22, 2015
@jbenet jbenet added the hack label Jan 24, 2015
@jbenet jbenet assigned jbenet and unassigned btc Jan 26, 2015
@jbenet
Copy link
Member

jbenet commented Jan 26, 2015

make it part of make install

@jbenet
Copy link
Member

jbenet commented Jan 31, 2015

This was fixed in 7ae3706

@jbenet jbenet closed this as completed Jan 31, 2015
@conrad
Copy link

conrad commented Aug 24, 2017

Hi, I've run into this same error today:

[13:41]  ~/Code/ipfs >>> go get github.com/jbenet/go-fuse-version/fuse-version
# github.com/jbenet/go-fuse-version
../../go/src/github.com/jbenet/go-fuse-version/version_darwin.go:6:11: fatal error: 'fuse/fuse.h' file not found
 #include <fuse/fuse.h>
          ^
1 error generated.

It looks as though the same error occurred when using ipfs mount:

[13:32]  ~/Code/ipfs/test >>> ipfs mount
Error: unable to check fuse version.

Dear User,

Before mounting, we must check your version of OSXFUSE. We are protecting
you from a nasty kernel panic we found in OSXFUSE versions <2.7.2.[1]. To
make matters worse, it's harder than it should be to check whether you have
the right version installed...[2]. We've automated the process with the
help of a little tool. We tried to install it, but something went wrong[3].
Please install it yourself by running:

	go get github.com/jbenet/go-fuse-version/fuse-version

You can also stop ipfs from running these checks and use whatever OSXFUSE
version you have by running:

	ipfs config DontCheckOSXFUSE true

[1]: https://github.com/ipfs/go-ipfs/issues/177
[2]: https://github.com/ipfs/go-ipfs/pull/533
[3]: exit status 2
# github.com/jbenet/go-fuse-version
../../../go/src/github.com/jbenet/go-fuse-version/version_darwin.go:6:11: fatal error: 'fuse/fuse.h' file not found
 #include <fuse/fuse.h>
          ^
1 error generated.

So, I've installed osxfuse to fix this:

$ brew tap caskroom/cask
$ brew update && brew cask install osxfuse

(from #177)

Now, I don't get the errors, but ipfs mount still isn't working:

[13:54]  ~/Code/ipfs >>> go get github.com/jbenet/go-fuse-version/fuse-version

[13:54]  ~/Code/ipfs >>> ipfs mount
Error: unable to check fuse version.

Dear User,

Before mounting, we must check your version of OSXFUSE. We are protecting
you from a nasty kernel panic we found in OSXFUSE versions <2.7.2.[1]. To
make matters worse, it's harder than it should be to check whether you have
the right version installed...[2]. We've automated the process with the
help of a little tool. We tried to install it, but something went wrong[3].
Please install it yourself by running:

	go get github.com/jbenet/go-fuse-version/fuse-version

You can also stop ipfs from running these checks and use whatever OSXFUSE
version you have by running:

	ipfs config DontCheckOSXFUSE true

[1]: https://github.com/ipfs/go-ipfs/issues/177
[2]: https://github.com/ipfs/go-ipfs/pull/533
[3]: exec: "fuse-version": executable file not found in $PATH

screen shot 2017-08-24 at 1 59 07 pm

:/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug A bug in existing code (including security flaws)
Projects
None yet
Development

No branches or pull requests

4 participants