-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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/mount: master build with master dependencies fails on Mac #7889
Comments
couple of additional comments from a mac developer: |
I wasn't aware that bazil/fuse had a max OSXFUSE version. Do you know which version this is? |
Here's another idea: if I'm using go-ipfs as a library and I don't need FUSE support, it should be possible to import go-ipfs/core without importing go-ipfs/fuse/mount. Right now I can only control this via I think it's better design to let the downstream Go code choose what extra dependencies to pull in via |
If possible, yes. |
A pet peeve I have with the @jacobsa has... talked about this issue too and he maintains a different FUSE library of his own. |
Note that this was noticed by a friend of mine who develops on Mac. I don't have such a machine, so I can't reproduce myself.
Since April 2020, the bazil/fuse library has removed MacOS support: bazil/fuse#224
But the fuse/mount package still tries to build bazil/fuse for
GOOS=darwin
, as can be seen here: https://github.com/ipfs/go-ipfs/blob/8e6358a4fac40577950260d0c7a7a5d57f4e90a9/fuse/mount/fuse.go#L1-L12The result is as you would expect:
This is usually not a problem, but will make builds fail if someone upgrades to the latest bazil/fuse version via
bazil.org/fuse@latest
. Or, for example, if some other dependency wants this newer version that breaks go-ipfs.I realise that technically this is a breaking change on the fuse library's part. But they also don't have stable releases, so it's just a matter of time before more users start running into this build failure as they gradually upgrade their direct or indirect dependencies.
I think the easiest step that could be taken right now is to add
!darwin
to that build constraint. Until then, users can manually use-tags=nofuse
, but that's only good as a temporary solution :)The text was updated successfully, but these errors were encountered: