Open TurtleWilly opened 1 year ago
Possible duplicate of https://github.com/Beep6581/RawTherapee/issues/6045
10.10 is highly ancient, and the installation procedures used there are no longer relevant to modern RawTherapee. You are experiencing expected behavior. ~/
is a relative path and not allowable in hardened runtime, which is used in RawTherapee.
"/Users/
@the-real-tokai There are no such thing as random hardcoded system paths in RawTherapee for macOS.
@Thanatomanic Duplicate of #6045.
@Benitoite:
the paths looks pretty much hard-coded to me in your launch script (RawTherapee.app/Contents/MacOS/rawtherapee
).
…
app="/Applications/RawTherapee.app"
lib="${app}/Contents/Frameworks"
resources="${app}/Contents/Resources"
etc="${resources}/etc"
…
@the-real-tokai did you have a question about the current dev branch?
@Benitoite I did not ask a question (no question marks). I was only commenting on the situation in the latest public binary release that is currently available to us as macOS users. I have no idea how I could make use of your "dev branch": I just want to click an icon. 😎
Ok. Post a feature request if you wish that someone would write an installer for your purposes. Comments about releases are good for the discuss forum, whereas the GitHub crowd here usually focuses work on the dev branch.
@Benitoite Sorry, I'm not sure what you're on about. 😎
I'm merely commenting about the bug @turtlewilly has reported here. The public version of RawTherapee.app for macOS seems to use an odd setup with a shell script as its main executable. That shell script has absolute paths referenced. Which is probably what breaks things on typical "we don't have admin rights, so we can write to '/Applications'" setups.
Again, you are commenting on a years-old code structure that has nothing to do with current code... please, take a look at dev branch! It's /completely/ different!
Also, it's worth noting that 5.9 will not have fixed that issue... it's actually doubled-down into /Applications
with the addition of app notarization, of which the hardened runtime is a pre-requisite. The notarization of the package is done when the build has completed using an Apple team credential. Lesser packaging methods require a non-default methodology of launch in more recent macOS, and now in which gatekeeper polls the ticket at each launch, no longer offering a quarantined area for apps that have either had their tickets previously checked or that you have allowed into quarantine via clicking OK on an explicit malware warning. Also, macOS 14 is probably about go alpha, meaning potentially even greater access to system integrity features in the next few Ventura dot releases. I have always the goal in mind to maintain the app package a just click an icon type of app on modern macOS.
@Benitoite Is there a way to add a message to the "installer" or the application launcher to warn the user that RawTherapee must be installed in /Applications without a name change? That would cut down the number of people who are unaware of the requirements.
I also noticed that the main rawtherapee.com page does not give installation instructions. It would be nice if the page redirected to some instructions upon clicking one of the downloads or something like that... Thoughts @Beep6581?
@Lawrence37 Yes, I can add a message to the fancy dmg background to that effect. "To install RawTherapee, drag the RawTherapee icon into the Applications folder."
And "To run RawTherapee, open /Applications and double click on the RawTherapee icon."
https://github.com/Beep6581/RawTherapee/pull/6923 generated adds instructions in the fancy dmg background png and the text install readme file at the zip level.
The general instructions for macOS are:
Once you’ve downloaded RawTherapee,
open Downloads and double click on the
new RawTherapee zip file.
Then double-click the RawTherapee dmg
file inside the resulting folder.
When the fancy dmg pops up, drag the
RawTherapee icon onto the Applications
folder to install it.
To run RawTherapee, open Applications
and double-click the RawTherapee icon.
Hello. Continuing from #7124 which I opened but which was marked as a duplicate of this here (which I hadn't found using search, maybe I searched for the wrong terms).
I'm sad to see that it's not planned to fix this. Whatever reasons are given here, other apps, including signed ones, run just fine from other locations. So that's my expectation, i.e. that I can move an app elsewhere and it still works. Since others here have reported the same, I don't think it's a very unreasonable expectation.
However, since devs seem to disagree to this, can at least the instructions about this be made clearer? In the .dmg, it currently says
To install RT, drag icon onto /Applications
Fair enough; however, basically every app says this either explicitly or by just suggesting with icons etc. And usually it means that this is suggested way to install, but as mentioned, the vast majority of apps supports running from other locations. So I wouldn't read this as "RT runs only from /Applications/". I think such a note should be added.
Or even better, the app could maybe check that it's run from "/Applications", and a note presented to the user if not? Rather than just crashing, which doesn't show anything to users who don't happen to run it from a terminal...
My RT builds are not just signed, they are apple notarized and distributed outside of the app store, meaning the app is required to be hardcoded as to the location of its libraries. The instructions seem clear that you must launch from /Applications. The reasoning behind this is system integrity protection. Notarized RT is thereby allowed to run in the default macOS security state. The program may also be self-compiled and installed anywhere you wish...
The instructions seem clear that you must launch from /Applications.
Well, I thought I explained why it wasn't clear to me, but then probably I'm just a stupid user.
Would you be able to suggest an update to the wording that would make the concept more clear?
How about
To install RT, drag icon onto /Applications (it will not start if in another location).
?
Short description
RawTherapee.app fails to load when it is not installed directly in the system directory "/Applications", e.g. if user has it installed in "~/Applications" or on a separate partition.
On initial installation and the subsequent launch OS X's CoreServiceUIAgent reports
File /Volumes/Storage/Applications/RawTherapee.app/Contents/MacOS/bin/rawtherapee-bin failed on rPathCmd /Applications/RawTherapee.app/Contents/Frameworks/libomp.dylib
andFails dylib check
, afterwards RawTherapee.app via com.apple.xpc.launchd:Service exited with abnormal code: 126
.Moving the application bundle to
/Applications
fixes things. But moving it out again and it will continue toService exited with abnormal code: 126
, albeit the inital report by CoreServiceUIAgent no longer seems to happen.Setting up an ugly softlink fixes the issue too:
Steps to reproduce
Expected behavior Installing the application in any user controlled path should not block it from launching, e.g. the user may not have write permissions in the system "/Applications" directory.
Additional information
Other useful information: n/a