Installing ifuse with Homebrew results in ERROR message
Asked Answered
S

4

25

I am just starting to install these binaries to access my iPhone and running into an error when trying to install ifuse.

I installed osxfuse v 3.11.2 using Homebrew first. I have two versions loaded in System Preferences:

FUSE 3.11.2 and macFuse 4.1.0

I also installed fuse osx 1.9.0

The error I am receiving is:

Error: ifuse has been disabled because it requires FUSE!

Sun Apr 18 05:18:54
iMac191:Homebrew john$ brew install fuse
==> Downloading https://github.com/fuse-open/fuse-studio/releases/download/1.9.0/fuse_osx_1_9_0.pkg
==> Downloading from https://github-releases.githubusercontent.com/133309840/5134f00e-6266-11e8-93cc-f1c5a91a10eb?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIW
######################################################################## 100.0%0
==> Installing Cask fuse
==> Running installer for fuse; your password may be necessary.
Package installers may write to any location; options such as `--appdir` are ignored.
Password:
Sorry, try again.
Password:
installer: Package name is Fuse
installer: Installing at base path /
installer: The install was successful.
🍺  fuse was successfully installed!


Sun Apr 18 09:33:33
iMac191:Homebrew john$ brew info fuse
fuse: 1.9.0
https://fuse-open.github.io/
/usr/local/Caskroom/fuse/1.9.0 (156.0MB)
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/fuse.rb
==> Names
Fuse Studio
Fuse Open
Fuse Fusetools
==> Description
Visual desktop tool suite for working with the Fuse framework
==> Artifacts
fuse_osx_1_9_0.pkg (Pkg)
==> Analytics
install: 1,029 (30 days), 1,703 (90 days), 3,605 (365 days)
Sharie answered 19/4, 2021 at 2:43 Comment(0)
L
41

as per TBR & dcmorse's advice, but just spelling it out further...

  1. make sure you have osx/macFUSE installed (if not -- $ brew install macfuse)
  2. get formula location: $ brew formula $PACKAGE_OF_INTEREST
  3. open formula in editor-of-choice (e.g. $ vi $( brew formula $PACKAGE_OF_INTEREST )) and comment out the section containing disable

in my case, that means changing to:

  # on_macos do                                                                 
  #   disable! date: "2021-04-08", because: "requires FUSE"                     
  # end
  1. install as usual: $ brew install $PACKAGE_OF_INTEREST
Luella answered 22/6, 2021 at 23:5 Comment(1)
This fixed it for me. Thanks!!Manage
L
7

osxfuse was removed from homebrew/core recently:

https://github.com/Homebrew/homebrew-cask/issues/94072

As a result all formulas depending on it have been disabled.

My current understanding is that you'd have to either use a non-core formula or download the formula locally and remove the disable line.

Sorry for not having a more satisfying answer. I just ran into this myself with sshfs and installed packages from outside of homebrew.

Latinist answered 21/4, 2021 at 17:58 Comment(0)
B
4

The brew package osxfuse seems to not be supported post v3.11.2.

Viewing it in the System Preferences pane shows that an update is available - v4.1.2 at time of writing.

Actually upgrading via the GUI throws an error, which then breaks future GUI interactions. A brew reinstall osxfuse will reinstall v3.11.2.

I removed osxfuse with brew uninstall osxfuse and installed macfuse instead, resulting in System Preferences showing macFUSE installed to latest version.

As per miriam's post, commenting out the "disable!" lines from the formula was the final step in allowing the install to work.

$ vi `brew formula ifuse`

...

  #on_macos do
  #  disable! date: "2021-04-08", because: "requires closed-source macFUSE"
  #end

...

$ brew install ifuse
Bartle answered 6/7, 2021 at 2:7 Comment(0)
W
2

This Bash function uses TBR's suggestion and removes the "disable!" line from a package's formula:

brew-install-fuse() {
    local nom="$1";
    local X="${TMP:-/tmp}/${nom}.rb";
    brew formula "$nom" \
        | xargs cat \
        | gsed -E 's/^(\s+disable\!.+FUSE)/#\1/g' > "$X" \
        && echo "Installing from \"$X\"";
    #cat "$X"; echo "X=$X"; return;
    brew install "$X";
    declare -l D=y \
        && read -t 5 -N 1 -p "Delete \"$X\"? [Y/n]: " D;
    if [[ "$D" == "y" ]]; then
        echo "Deleting \"$X\"";
        rm -f "$X";
    fi;
}

Use it in lieu of brew install <pkg depending on fuse>, like:

brew-install-fuse <pkg depending on fuse>

Your mileage may vary.

Weatherspoon answered 29/5, 2021 at 6:41 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.