Open KeygenLLC opened 2 years ago
Hmm, I solved this problem by copying libc++.1.dylib
from macOS Catalina and replacing the one in Mojave. Just remember to backup the original one.
Hmm, I solved this problem by copying
libc++.1.dylib
from macOS Catalina and replacing the one in Mojave. Just remember to backup the original one.
Thanks, I'll give it a try.
Yes, indeed it works.
Once you have a copy of /usr/lib/libc++.1.dylib
from macOS Catalina (can be taken from original .dmg),
copy it in the same directory as realesrgan-ncnn-vulkan
,
and then patch realesrgan-ncnn-vulkan
like this:
install_name_tool \
-add_rpath "@executable_path/." \
-change "/usr/lib/libc++.1.dylib" "@rpath/libc++.1.dylib" \
realesrgan-ncnn-vulkan
On Mojave (10.14.6) I was also able to get this to work using the same approach, but tweaked since I'm using the latest release v0.2.0
from April 24, 2022
v0.2.0
is built for Big Sur and seems to do inference much faster, compared to the previous versions (which I tried out re: MacOS Catalina). My error was:
dyld: lazy symbol binding failed: Symbol not found: __ZNSt3__14__fs10filesystem10__absoluteERKNS1_4pathEPNS_10error_codeE
Referenced from: /Users/.../Downloads/realesrgan-ncnn-vulkan-20220424-macos/./realesrgan-ncnn-vulkan (which was built for Mac OS X 11.0)
libc++.1.dylib
lives in the XCode app bundle. So I downloaded Xcode 13.2.1
for Mac OS X 11 from https://xcodereleases.comlibc++.1.dylib
which lives in the tvOS/watchOS/iOS simulator runtimes. Copy it to the realesrgan-ncnn-vulkan
directoryinstall_name_tool -change "/usr/lib/libc++.1.dylib" "@rpath/libc++.1.dylib" realesrgan-ncnn-vulkan
-add_rpath
, that the others on this thread used, because I got the following error 👇
option "-add_rpath @executable_path/." would duplicate path, file already has LC_RPATH for: @executable_path/.
After all these steps, it works and I'm doing blazing fast super-resolution on Mojave (which I cannot upgrade for different audio-driver related technical reasons)
If trying to run this on Mojave (10.14.6), the GPU does render the image, but when it gets to where it needs to save it, it throws an error because it can't find the library for c++.1 which is not present on Mojave.
I haven't found a way to install the other c++.1, though the guys who make Homebrew are trying to find a way to do it for older macOS.
Edit: Apparently this does exist on Mojave, but maybe it's not the location that's expected. I found it in
/usr/lib/libc++.1.dylib
. Is there a way to point the app to this location or is this an older version that won't work?You can see below how it errors out right before finishing:
This is a stable production machine and I can't install 10.15 on this machine because I need to run 32-bit software and plugins that do not exist in 64-bit for 10.15 or Big Sur. Also can't run it on my laptop with Big Sur because it only has Intel Iris graphics.
Please let me know if there is a way around this or if you can make a new build that will support 10.14.
Thanks