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

FUSE check outdated #3689

Closed
meyerzinn opened this issue Feb 14, 2017 · 6 comments
Closed

FUSE check outdated #3689

meyerzinn opened this issue Feb 14, 2017 · 6 comments

Comments

@meyerzinn
Copy link

Version information:

go-ipfs version: 0.4.4-
Repo version: 4
System version: amd64/darwin
Golang version: go1.7

Type: Bug

Priority: P4

Description: FUSE version check outdated.

Here is the code for it:

func darwinFuseCheckVersion(node *core.IpfsNode) error {
	// on OSX, check FUSE version.
	if runtime.GOOS != "darwin" {
		return nil
	}

	ov, errGFV := tryGFV()
	if errGFV != nil {
		// if we failed AND the user has told us to ignore the check we
		// continue. this is in case fuse-version breaks or the user cannot
		// install it, but is sure their fuse version will work.
		if skip, err := userAskedToSkipFuseCheck(node); err != nil {
			return err
		} else if skip {
			return nil // user told us not to check version... ok....
		} else {
			return errGFV
		}
	}

	log.Debug("mount: osxfuse version:", ov)

	min := semver.MustParse("2.7.2")
	max := semver.MustParse("3.0.0")
	curr, err := semver.Make(ov)
	if err != nil {
		return err
	}

	if curr.LT(min) {
		return fmt.Errorf(errStrUpgradeFuse, ov)
	}
	// TODO: Upgrade fuse lib and work nice with 3.0.0+
	if curr.GE(max) {
		return fmt.Errorf(errStrUpgradeFuse, ov)
	}
	return nil
}

which can be found at https://github.com/ipfs/go-ipfs/blob/master/fuse/node/mount_darwin.go#L125.

This is an extension of #3601.

@Kubuxu
Copy link
Member

Kubuxu commented Feb 14, 2017

What is the issue here?


0.4.5 was released that improves the FUSE check.

@meyerzinn
Copy link
Author

@Kubuxu Then the downloads from the website are outdated.

@meyerzinn
Copy link
Author

This is still an issue.

go-ipfs version: 0.4.6-dev-
Repo version: 5
System version: amd64/darwin
Golang version: go1.7.5

$ ipfs daemon --mount
Initializing daemon...
Adjusting current ulimit to 1024...
Successfully raised file descriptor limit to 1024.
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/192.168.1.104/tcp/4001
Swarm listening on /ip4/70.122.156.195/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Error: OSXFUSE version 3.5.4 not supported.

OSXFUSE versions <2.7.2 are known to cause kernel panics!
Please upgrade to the latest OSXFUSE version.
It is recommended you install it from the OSXFUSE website:

	http://osxfuse.github.io/

For more help, see:

	https://github.com/ipfs/go-ipfs/issues/177

OSXFUSE versions >3.0.0 are not compatible with version of FUSE library in current use.
	This will be fixed in near future, see https://github.com/ipfs/go-ipfs/issues/3471

So should I downgrade FUSE?

@Kubuxu
Copy link
Member

Kubuxu commented Feb 14, 2017

If you want to use it, yes.

@Kubuxu Kubuxu closed this as completed Feb 14, 2017
@meyerzinn
Copy link
Author

meyerzinn commented Feb 14, 2017

Actually, Fuse <3.0.0 doesn't run on my mac version. Please re-open this. @Kubuxu

@Kubuxu
Copy link
Member

Kubuxu commented Feb 14, 2017

There is separate issue that calls for update of the FUSE library already created.

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

2 participants