ART 1.20 for macOS notarized build

After playing a while with ART on MacOS most of the features seems to work fine.
The only one that is not working is the Shortcuts. Does anything has to be changed to make them work on MacOS?

I did not tested all of them, but for example the ones for Ranking ( numbers 1-5) do not work. Ctrl+C Ctrl +V work to copy and paste the current working profile.

@Daniel_Catalina Possibility of being the same issue as in RT Some keyboard shortcuts not working in macOS Ā· Issue #3510 Ā· Beep6581/RawTherapee Ā· GitHub

1 Like

Hi, reviving old things here :slight_smile:

I have installed ART_macOS_13.3_arm64_1.21.3-9-g9a24f2567 from your link, but it does not start on MacOS Sonoma 14.5 because it cannot find 'liblensfun.1.dylib. Looking in the installed files in the App, it is clear that the library is not there, but liblensfun.2.dylib is.
Is this a build or packaging error?

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               ART [29911]
Path:                  /Applications/ART.app/Contents/MacOS/ART
Identifier:            us.pixls.art.ART
Version:               1.21.3.9 (1.21.3.9)
Code Type:             ARM-64 (Native)
Parent Process:        launchd [1]
User ID:               501

Date/Time:             2024-07-01 13:26:07.4186 +0200
OS Version:            macOS 14.5 (23F79)
Report Version:        12
Anonymous UUID:        A33D216D-A8BE-0F9E-2EF2-97A1E900B69C

Sleep/Wake UUID:       3D140B42-D1C0-47F5-9CD4-9DF49B247811

Time Awake Since Boot: 1100000 seconds
Time Since Wake:       11890 seconds

System Integrity Protection: enabled

Crashed Thread:        0

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000

Termination Reason:    Namespace DYLD, Code 1 Library missing
Library not loaded: liblensfun.1.dylib
Referenced from: <C5F34DC9-556A-3512-B90A-D1ED40B2D380> /Applications/ART.app/Contents/MacOS/ART
Reason: tried: 'liblensfun.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSliblensfun.1.dylib' (no such file), 'liblensfun.1.dylib' (no such file), '/usr/lib/liblensfun.1.dylib' (no such file, not in dyld cache), '//liblensfun.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS//liblensfun.1.dylib' (no such file), '//liblensfun.1.dylib' (no such file), '/usr/lib/liblensfun.1.dylib' (no such file, not in dyld cache)
(terminated at launch; ignore backtrace)

Unknown what caused the error back a couple months ago, but Iā€™ve built the latest 1.22.1 containing the proper lensfun.1.dylib. Thanks for testing!

Thank you for your efforts. Your binary for ARM machines works fine on Japanese Mac OS 14.x.
Unfortunately, CTL scripts donā€™t seem to be supported in your binary.

Ok, I will take a look into the ctl scripts, ive never used them. Could you describe how its now working?

Hi,
essenitally, you need to link against the CTL interpreter.
There are instructions for ubuntu-like environments here, maybe the mac is similar?

Thank you. I will try later.

Ditto what he said.

Iā€™ve managed to rebuild with CTL support enabled- its been updated in my shared folder:

I copied the example scripts into /Applications/ART.app/Contents/Resources/share/ctlscripts for convenience.

Btw, for homebrew, I had to explicitly point cmake to the correct CTL_INCLUDE_DIR in order to detect CTL.

macOS build script for x86_64:

cd
cd art
sudo rm -r build
mkdir build
cd build
git pull
cmake -DCMAKE_BUILD_TYPE="Release" -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_OSX_DEPLOYMENT_TARGET=12.3 -DPROC_TARGET_NUMBER="11" \
-DPROC_LABEL="nehalem-westemere" -DCACHE_NAME_SUFFIX="5-dev" -DCMAKE_C_COMPILER="clang" \
-DOPTION_OMP=OFF  \
-DCMAKE_CXX_COMPILER="clang++" -DWITH_LTO="OFF" \
-DCMAKE_OSX_SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk" \
-DCMAKE_OSX_DEPLOYMENT_TARGET="12.3" -DLOCAL_PREFIX:STRING="/usr/local" \
-DLENSFUNDBDIR="/Applications/ART.app/Contents/Resources/share/lensfun" \
-DCODESIGNID:STRING="Developer ID Application: Doctor Who (12345ABCDE)ā€ -DNOTARY:STRING="--apple-id drwho@bbc.co.uk --team-id 12345ABCDE --password abcd-efgh-ijkl-mnopā€ \
-DCMAKE_CXX_FLAGS_RELEASE="-I/usr/local/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include -Wno-pass-failed -Wno-deprecated-register -Wno-unused-command-line-argument -std=c++11 -DNDEBUG=1 -O3" \
-DCMAKE_C_FLAGS_RELEASE="-I/usr/local/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include -Wno-pass-failed -Wno-deprecated-register -Wno-unused-command-line-argument" \
-DCMAKE_EXE_LINKER_FLAGS="-L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/lib -Wl,-undefined,dynamic_lookup -Wl,-headerpad_max_install_names -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -O3 -DNDEBUG=1" \
-DOpenMP_C_FLAGS="-fopenmp=lomp" \
-DOpenMP_CXX_FLAGS=-fopenmp=lomp -DOpenMP_C_LIB_NAMES="libomp" \
-DOpenMP_CXX_LIB_NAMES="libomp" \
-DOpenMP_libomp_LIBRARY="/usr/local/lib/libomp.dylib" \
-DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp /usr/local/lib/libomp.dylib -I/usr/local/include" \
-DOpenMP_CXX_LIB_NAMES="libomp" \
-DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp /usr/local/lib/libomp.dylib -I/usr/local/include" \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DFANCY_DMG=OFF \
-DENABLE_CTL="ON" -DCTL_INCLUDE_DIR="/usr/local/opt/ctl/include/CTL" \
.. 
make -j8 install
sudo make macosx_bundle

macOS build script for arm64:

cd
cd art
sudo rm -r build
mkdir build
cd build
git pull
cmake -DCMAKE_BUILD_TYPE="Release" \
-DOPTION_OMP=ON \
-DCMAKE_OSX_ARCHITECTURES=arm64 \
-DCMAKE_OSX_DEPLOYMENT_TARGET=13.3 \
-DPROC_TARGET_NUMBER="2" -DPROC_LABEL="arm64" \
-DCACHE_NAME_SUFFIX="1-alpha" -DCMAKE_C_COMPILER="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" \
-DCMAKE_CXX_COMPILER="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++" -DWITH_LTO="ON" \
-DCMAKE_OSX_SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk" \
-DCMAKE_OSX_DEPLOYMENT_TARGET="13.3" -DLOCAL_PREFIX:STRING="/opt/homebrew" \
-DLENSFUNDBDIR="/Applications/ART.app/Contents/Resources/share/lensfun" \
-DCODESIGNID:STRING="Developer ID Application: Doctor Who (12345ABCDE)ā€ -DNOTARY:STRING="--apple-id drwho@bbc.co.uk --team-id 12345ABCDE --password abcd-efgh-ijkl-mnopā€ \
-DCMAKE_CXX_FLAGS_RELEASE="-O3 -DNDEBUG=1 -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/include -Wno-pass-failed -arch arm64 -Wno-deprecated-register -Wno-unused-command-line-argument -std=c++11" \
-DCMAKE_C_FLAGS_RELEASE="-O3 -DNDEBUG=1 -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/include -Wno-pass-failed -arch arm64 -Wno-deprecated-register -Wno-unused-command-line-argument" \
-DENABLE_CTL="ON" -DCTL_INCLUDE_DIR="/opt/homebrew/opt/ctl/include/CTL" \
-DCMAKE_EXE_LINKER_FLAGS="-L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/lib -Wl,-headerpad_max_install_names -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -arch arm64" -DOpenMP_C_FLAGS="-fopenmp=lomp" -DOpenMP_CXX_FLAGS=-fopenmp=lomp -DOpenMP_C_LIB_NAMES="libomp" -DOpenMP_CXX_LIB_NAMES="libomp" -DOpenMP_libomp_LIBRARY="/opt/homebrew/lib/libomp.dylib" \
-DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp /opt/homebrew/lib/libomp.dylib -I/opt/homebrew/include" \
-DOpenMP_CXX_LIB_NAMES="libomp" \
-DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp /opt/homebrew/lib/libomp.dylib -I/opt/homebrew/include" \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DFANCY_DMG=ON \
..
make -j8 install
sudo make macosx_bundle
1 Like

Thank you very much. Itā€™s perfect! :smiley:

Hiram, the link you provided is brokenā€¦
just say the folder in not available.
Hope I can download ART for OSX

Thanks

@Chaps_Ididi I just found outā€¦ will be working on getting it back up soon. I will forward you privately the links to my google bucket copies.

I managed to download the ctl enabled version for arm last evening and tested a bit. It seems to work perfectly!
Thank you for making it available to us!

1 Like

Iā€™ve regenerated my shared ART folder, it should be working again.

2 Likes

Thank you HIRAM, ART works great in OSX!
:ok_hand:t2:

1 Like

How do I download the file?
I donā€™t normally use iCloud and when I do, I only use it with advanced data protection. But the download doesnā€™t seem to work with Advanced Data Protection.

You canā€™t download from my drive with ADP enabled because I donā€™t use ADP. The app is notarized, so zero need for end to end encryption.

Hello, I donā€™t have a Mac but Iā€™m interested in the availability of ART on this OS so that I can recommend it to friends.

If Iā€™ve understood correctly, ART is now available for ARM machines (M1,M2,M3) but not intel?
Are there any plans to support intel as well?
Is the current build considered stable or should we wait before recommending it?
Are there any plans to automate updates?

Thank you very much for this work, it was really a lack that ART was not present on mac!

I am currently sharing both Apple Silicon and Intel builds. Currently the latest test build is labeled ā€œCTLsupportā€ and will be updated in a couple of weeks. I can also add the most recent stable tag when I get back.

2 Likes