homebrew-fuse icon indicating copy to clipboard operation
homebrew-fuse copied to clipboard

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

Open vorou opened this issue 1 year ago • 3 comments

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)

vorou avatar Oct 21 '23 22:10 vorou

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.

cobaltdr avatar Oct 22 '23 13:10 cobaltdr

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.

cbatson avatar Nov 17 '23 18:11 cbatson

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.

asbjornu avatar Dec 06 '23 10:12 asbjornu