gromgit / homebrew-fuse

gromgit's FUSE tap
BSD 2-Clause "Simplified" License
325 stars 37 forks source link

M2: Library not loaded: /opt/homebrew/opt/libplist/lib/libplist-2.0.3.dylib #51

Open vorou opened 1 year ago

vorou commented 1 year ago

Getting this error when trying to run ifuse

$ ifuse                                                                                                                                                                                               15:30:57
dyld[19431]: Library not loaded: /opt/homebrew/opt/libplist/lib/libplist-2.0.3.dylib
  Referenced from: <04812DE0-30A0-367A-A4D5-0FCD978A3B1E> /opt/homebrew/Cellar/ifuse-mac/1.1.4/bin/ifuse
  Reason: tried: '/opt/homebrew/opt/libplist/lib/libplist-2.0.3.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/opt/libplist/lib/libplist-2.0.3.dylib' (no such file), '/opt/homebrew/opt/libplist/lib/libplist-2.0.3.dylib' (no such file), '/usr/local/lib/libplist-2.0.3.dylib' (no such file), '/usr/lib/libplist-2.0.3.dylib' (no such file, not in dyld cache), '/opt/homebrew/Cellar/libplist/2.3.0/lib/libplist-2.0.3.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/Cellar/libplist/2.3.0/lib/libplist-2.0.3.dylib' (no such file), '/opt/homebrew/Cellar/libplist/2.3.0/lib/libplist-2.0.3.dylib' (no such file), '/usr/local/lib/libplist-2.0.3.dylib' (no such file), '/usr/lib/libplist-2.0.3.dylib' (no such file, not in dyld cache)
fish: Job 1, 'ifuse' terminated by signal SIGABRT (Abort)

Is it something about M2 or did I mess up somehow? I do have that lib installed but a different version:

$ brew info libplist                                                                                                                                                                                15:33:00
==> libplist: stable 2.3.0 (bottled), HEAD
Library for Apple Binary- and XML-Property Lists
https://www.libimobiledevice.org/
/opt/homebrew/Cellar/libplist/2.3.0 (31 files, 629.2KB) *
  Poured from bottle using the formulae.brew.sh API on 2023-10-21 at 12:34:47
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/lib/libplist.rb
License: LGPL-2.1-or-later
==> Dependencies
Build: autoconf ✔, automake ✘, libtool ✔, pkg-config ✔
==> Options
--HEAD
    Install HEAD version
==> Analytics
install: 4,630 (30 days), 8,894 (90 days), 16,528 (365 days)
install-on-request: 556 (30 days), 1,263 (90 days), 2,043 (365 days)
build-error: 0 (30 days)
cobaltdr commented 1 year ago

Found your bug report having had the exact same issue and looking for a solution. Rather confusingly, the 2.3.0 tar.bz2 builds a 2.0.4 dylib in the directory that ifuse looks - /opt/homebrew/opt/libplist/lib/libplist-2.0.3.dylib does not exist but /opt/homebrew/opt/libplist/lib/libplist-2.0.4.dylib does.

I have just gone and downloaded the 2.2.0 tar.bz2 from https://github.com/libimobiledevice/libplist/releases and concerningly is a bit old (2020 vs 2023 for the latest version).

./configure and make ran fine. However, the reason I was looking for M1/M2 ifuse binaries was because I was hoping to avoid having to build anything...

(The baseline brew ifuse package appears to be for linux only).

Now going to copy the 2.0.3 dylib and see if it works.

EDIT: Yes, it works.

cbatson commented 12 months ago

FWIW I did this, and it appears to be working for me:

( cd /opt/homebrew/opt/libplist/lib/ && ln -s libplist-2.0.4.dylib libplist-2.0.3.dylib )

See also this.

asbjornu commented 11 months ago

A more portable version of @cbatson's command (using brew --prefix to find the Homebrew installation path), which seems to have fixed the problem for me:

(cd "$(brew --prefix)/opt/libplist/lib/" && ln -s libplist-2.0.4.dylib libplist-2.0.3.dylib)

I can also mention that I'm running on an Intel-based 27" iMac, not M2, and still received the Library not loaded error.