libimobiledevice / libimobiledevice-glue

A library with common code used by libraries and tools around the libimobiledevice project
GNU Lesser General Public License v2.1
91 stars 70 forks source link

Publish release to fix failing installation for libimobiledevice and other projects on macOS #7

Closed kozyraP closed 3 months ago

kozyraP commented 2 years ago

Is it possible to publish an official release for libimobiledevice-glue? After refactoring the code base and adding the libimobiledevice-glue dependency to other projects it is not possible to install libimobiledevice, libusbmuxd and others with the latest --HEAD version.

The installation gives an error:

brew install --HEAD libimobiledevice
(...)

No package 'libimobiledevice-glue-1.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables limd_glue_CFLAGS
and limd_glue_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

It's not possible to add libimobiledevice-glue to homebrew Formula without an official release. User @hammer065 is trying to add brew formula to fix this but this requires having release.

Links to homebrew statistic with failling instalation attempts for: libimobiledevice

libusbmuxd

kozyraP commented 2 years ago

Also. Is anyone able to help overcome this problem temporarily and explain how to add the required dependencies of libimobiledevice-glue on macOS so that I can install the latest version of libimobiledevice without missing glue package error? I followed instructions from readme:

git clone https://github.com/libimobiledevice/libimobiledevice-glue.git cd libimobiledevice-glue ./autogen.sh make sudo make install

I also tried to follow those instructions from similar issue (not even similar, but related to the same problem) but nothing works and result is the same: No package 'libimobiledevice-glue-1.0' found

kozyraP commented 2 years ago

I created turnaround for myself. If someone still having this problem you can try this:

brew tap kozyrap/libimobiledevice brew install kozyrap/libimobiledevice/libimobiledevice --HEAD

I created a fork from libimobiledevice main repo and I changed Head to be as last commit that doesn't need libimibiledevice-glue as a dependency. Then I created brew tap for that fork. tap repo url

Another solution that should work is to copy working, already installed libimobiledevice from another Mac, zip it (it should be named for example as "HEAD-16a8b97") and unzip it into your folder: /usr/local/Cellar/libimobiledevice and than run command: 'brew link libimobiledevice'

Both solution are a bit messy but nothing else worked for me.

ewscripps-jb commented 2 years ago

https://github.com/Homebrew/homebrew-core/pull/87059

booth-f commented 1 year ago

Sadly this is also an issue on Linux as well. Tried to do a manual install of libimobiledevice-glue and running into the same error messages :(

Homebrew/homebrew-core#87059

Pull request never made it into the official tree. Can we get an official response please?

ships commented 1 year ago

When homebrew installs libimobiledevice, it uses a very narrow setting for PKG_CONFIG_PATH that you can't easily modify. It does not include /usr/local/lib/pkgconfig, which is where libimobiledevice-glue-1.0 is installed from source; initial error message indicates to change this var, but it is not practical without modifying the formula with the custom tap.

A workaround (also messy, but lower maintenance) is to do something like ln -s /usr/local/lib/pkgconfig/libimobiledevice-glue-1.0.pc /usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig/13/libimobiledevice-glue-1.0.pc (the last string should point to a directory in PKG_CONFIG_LIBDIR that brew uses, which you can observe by doing brew sh and checking the env. I am not super sure how brew manages this directory so it may overwrite/destroy that symlink in future.

nikias commented 3 months ago

Released already.