github.com/zignig/go-ipfs@v0.0.0-20141111235910-c9e5fdf55a52/cmd/ipfs/mount_darwin.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "runtime" 6 "strings" 7 "syscall" 8 ) 9 10 func init() { 11 // this is a hack, but until we need to do it another way, this works. 12 platformFuseChecks = darwinFuseCheckVersion 13 } 14 15 func darwinFuseCheckVersion() error { 16 // on OSX, check FUSE version. 17 if runtime.GOOS != "darwin" { 18 return nil 19 } 20 21 ov, err := syscall.Sysctl("osxfuse.version.number") 22 if err != nil { 23 return err 24 } 25 26 if strings.HasPrefix(ov, "2.7.") || strings.HasPrefix(ov, "2.8.") { 27 return nil 28 } 29 30 return fmt.Errorf("osxfuse version %s not supported.\n%s\n%s", ov, 31 "Older versions of osxfuse have kernel panic bugs; please upgrade!", 32 "https://github.com/jbenet/go-ipfs/issues/177") 33 }