dweymouth / supersonic

A lightweight and full-featured cross-platform desktop client for self-hosted music servers
GNU General Public License v3.0
680 stars 27 forks source link

Mac OS copy_python_dep_osx.sh Build Error with MacPorts MPV installation #210

Open InvisibleFunction opened 1 year ago

InvisibleFunction commented 1 year ago

I'm trying to build the app on Mac OS 13.4.1 and the copy_python_dep_osx.sh script errors out in the make bundledeps_macos step.

...
./Supersonic.app/Contents/MacOS/supersonic: replacing existing signature
./copy_python_dep_osx.sh
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool-classic: can't open file: ./Supersonic.app/Contents/Frameworks/libvapoursynth-script.0.dylib (No such file or directory)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: can't open file: ./Supersonic.app/Contents/Frameworks/libvapoursynth-script.0.dylib (No such file or directory)
cp: : No such file or directory
make: *** [bundledeps_macos] Error 1
comp:supersonic me$ ls -l ./Supersonic.app/Contents/Frameworks/libvapoursynth-script.0.dylib
ls: ./Supersonic.app/Contents/Frameworks/libvapoursynth-script.0.dylib: No such file or directory
dweymouth commented 1 year ago

Hmm, I can't replicate this on my system. However, if you're only building for yourself, and not trying to share the binary on another computer, you can skip the bundledeps_macos step. At this point the App bundle is already runnable and installable - it just references mpv dependencies from Homebrew instead of being self-contained.

Maybe you have a different version of (lib)mpv installed with homebrew? If you do otool -L /usr/local/opt/mpv/lib/libmpv.2.dylib does libvapoursynth-script.0.dylib appear in the dependency list?

InvisibleFunction commented 1 year ago

Yup, that's the thing I forgot to mention :)

I installed go, mpv, and dylibbundler with mac ports, not homebrew and I guess the mac ports mpv doesn't include that library by default.

me@compy$ otool -l /opt/local/lib/libmpv.2.dylib | grep -i libvapoursynth | wc -l
       0

Thanks, I'll stick with it as is.

dweymouth commented 1 year ago

Everything worked up until bundledeps? If so, then yeah you should be good to go!