-
Notifications
You must be signed in to change notification settings - Fork 314
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update documentation for compilation under macOS #5590
Comments
Without omp RT will be slow. Imho not worth to make a non omp build for machines with multiple cores... |
I did some comparisons with the released version 5.7 today. Went back to branch release-5.7 as the processing seems to have changed in dev. Setting |
OK, I had a deeper look now. The measured times reduce as expected with omp. The effect on the overall wall clock time isn't that big though. Interestingly my perception of the effect of LTO was wrong. Here are the measures using an Intel Mobile Core i5 "Haswell" (I5-4258U) 2.4 GHz with 2 physical cores. The released 5.7 build gives:
This sums up to about 1.5s. The total wall clock time between clicking on a tile and seeing the readily rendered photo is 3-4s (towards 3) though. Meaning about 2s other processing. My own build of branch release-5.7 with Apple clang version 11.0.0 (no omp support) and
The total wallclock time increases to 4-5s. This reflects the loss of omp, but the other processing time of about 2s remains the same, so that the total loss of performance is not that big. Unfortunately LTO increases the time for linking rawtherapee considerably. This is why I'm turning it off for experimental builds. An own build with
Only minimal increase of measured times. Also the total wall clock time only increases slightly -- more towards 5s now. |
@rfranke What kind of raw files did you use for your test? |
I'm processing NEF files from a D500 (file size about 24 MB). Do you think that 3s for opening a file in the editor are as expected? Meanwhile my own build works with omp using MacPorts clang-mp-9.0. It achieves the same times as the released version, if not a tad faster. Found https://trac.macports.org/ticket/58333#comment:8
Moreover, MacPorts fftw-3-single does not seem to contain |
Are you using SETM or METM? If you use METM opening a new editor also takes a while. |
SETM for the reported times, i.e. clicked on thumbnails in the Filmstrip. The Auto-Matched Tone Curve was the killer feature that convinced me to start with RawTherapee :-) |
Generally fine. The released binaries for version 5.7 and my own build behave alike. If I try to move a slider very fast, then I notice a lag of some milliseconds while the editor updates the photo. Only scrolling with gestures on the track pad or with an Apple mouse is too sensitive -- must use the scrollbars instead. |
Interesting. If you drag a curve (eg RGB), does the point on the curve
follow the mouse closely and smoothly, or does it lag? Are you using a
separate (non Apple) mouse when working with a MacBook or other Apple
machine rather than the trackpad (or magic mouse)? From your description it
sounds like the issue I've been observing could be purely due to the use of
the trackpad (I've not used a discrete and non apple mouse). Goes off to
try and find one...
…On Wed, 1 Jan 2020, 20:42 rfranke, ***@***.***> wrote:
Generally fine. The released binaries for version 5.7 and my own build
behave alike. If I try to move a slider very fast, then I notice a lag of
some milliseconds while the editor updates the photo. Only scrolling with
gestures on the track pad or with an Apple mouse is too sensitive -- must
use the scrollbars instead.
My only real problem is that RT doesn't exploit the resolution of the
monitors when viewing photos, see #5591
<#5591>.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#5590?email_source=notifications&email_token=ACM6NAKF2LYYKYTOGGJ2SIDQ3T527A5CNFSM4KBTPUZ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH5MGJI#issuecomment-570082085>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACM6NAOWKC4GTHRMMV4KK2DQ3T527ANCNFSM4KBTPUZQ>
.
|
Yes, when dragging points on curves or sliders, they follow the mouse closely and smoothly. Just scrollbars sometimes seem to hang -- but this I'm used to from the GNOME desktop as well. |
So I noticed in |
I had started open minded without previous knowledge of either Homebrew or MacPorts. After having tried both, the latter convinces me more (regular installer instead of copy/paste of hacky command line, use of sudo, unique names, less PATH juggling). Appreciating your pull request! |
Thanks @rfranke for having a look. Same experience here. I’d used apt before on Linux and find macports to be as simple. Homebrew is a slightly different paradigm but is supported by some autobuilders. PS I updated the pr after discovering a typo that occurred. |
Hey, what is the status? |
The build process works nicely with MacPorts -- much simpler imho. Everything works, including also omp. RT runs from the build directory. Unfortunately |
Does our documentation in RawPedia reflect the most recent approach? i.e. can we close this issue? |
I noticed the script uses 'cp' in places instead of 'ditto' causing version errors. PR will be forthcoming.
… On Jan 24, 2020, at 10:41 PM, rfranke ***@***.***> wrote:
The build process works nicely with MacPorts -- much simpler imho. Everything works, including also omp. RT runs from the build directory. Unfortunately make macosx_bundle generates a bundle with .dylib conficts. #5598 does not help either for me.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
@Benitoite: sounds promising!
|
Did some updates of https://rawpedia.rawtherapee.com/MacOS
|
Just tested the updated documentation. Much better now! Following things might be changed:
RawTherapee compiles and runs from the build directory.
|
Great, @rfranke thanks for testing. The issue is not really with any missing image. It is with the particular gdkpixbuf2 loader module. Perhaps due to compilation options, link options, or install_name timing during the bundling. However I noticed that compiling gdkpixbuf2 with the loaders built-in did make the problem disappear for me. |
LTO = off was placed into the instructions to let people know they can turn it on if they wish. |
Also, port |
@Benitoite
Otherwise, I still get the following error while linking (it's
Do you know what I have missed? |
@Benitoite Pierre |
Many thanks @Pandagrapher for that. |
Encountering the problem with missing |
Added |
Greetings, RawTherapee developers. In November 2021, I packaged RawTherapee for MacPorts, and all of the issues that were discussed in this thread had to be resolved in order to get my package approved. RawTherapee is now an official package available through MacPorts, so your macOS documentation page is now outdated. Users only need to execute a single command:
in order to install RawTherapee using MacPorts. There's no longer any need to manually install any of RawTherapee's dependencies, because as an official package, P.S.: The actual command is a bit more complicated than the above. As your current documentation points out, if users want to use RawTherapee with Quartz and OpenMP support, they need to install some of the dependencies with specific variants. So the full MacPorts command, on a system with a newly-installed MacPorts, would be (line breaks added for ease of reading):
One more thing I wanted to point out. Adding |
@jasonliu 5.8 is very very very outdated. The discussion at hand is compilation of the |
If it's very outdated, then the devs should consider publishing a new tagged release. MacPorts (and most other package management systems) only allow packages to be based on stable, archived tagged releases. I suppose I could put together a In addition, nowhere on the macOS page, or the Linux guide that the macOS page refers to, is it made clear that the pages are intended for developers who want to do development on the When the pages don't clearly label that their intended audience is for developers, it's very easy for regular users who are simply trying to find the software to mistakenly assume that those are the instructions for how to obtain the software. (This is especially true when you consider that it is very difficult to control how Google displays search results, even for a website that you run.) Other software projects make it more clear that the pages on compiling from source are intended for developers, e.g.: The fact that the discussion at hand is regarding compilation of the The recommended usage of MacPorts variants is given here: https://guide.macports.org/chunked/using.variants.html |
We've been wanting to publish a new release for many months now. Hopefully there will be no more delays and 5.9 will be released soon. The macOS page is not just intended for developers. Users may wish to compile RawTherapee themselves for one of many reasons. For example, to make a fast native build. We cannot easily control what Google puts in their search results. What I propose is changing the compilation page titles to "Compiling on macOS/Linux/Windows" or similar. |
@jasonliu-- I'm torn between being happy you put RT on MacPorts (:+1:) and being slightly annoyed that you feel misguided by RawPedia and Google, while you seem to have completely misinterpreted the very first sentence of the macOS article and deliberately chose to ignore the higher-up Downloads link the Google search result provided. It is literally the first sentence on the page that tells you the article is about compiling and nothing at all hints that this is the regular way of obtaining a macOS version of RT... Perhaps this can be further clarified, but I definitely don't think many users make this mistake and simply go to the Downloads page to get things working on macOS (although, using modern hardware and macOS versions this may be trickier...). In any case, I'm no macOS expert so I cannot judge whether your MacPorts port is in any way useful. However, if we need to update our documentation or download page somehow, feel free to point me in the right direction. |
ATM, macports is not providing pangomm-2.42.1_0+quartz.darwin_21.arm64.tbz2 and fails to build it on Monterey 12.2ß21D5025f (arm64). As far as the @jasonliu-- portfile: The actual port doesn't seem to get through the dependencies install also: https://ports.macports.org/port/rawtherapee/details/ Honestly the whole macports section of the macos compilation page was unofficially deprecated and left alone a while back when homebrew usage outgrew macports among the other Apple folk. It's inherited legacy material to be sure, we just try to keep it tidy and let it hang out there. |
The reason why the dependencies are failing to install is because MacPorts' buildbot builders aren't able to install dependencies with variants other than the default variants. IIRC, that topic been brought up a couple of times on our dev mailing list, but none of the core MacPorts devs have taken any action so far. It's kind of a pity, because it makes packages like RT look like they're horribly broken, when they actually will in fact install fine on most people's computers. Regarding the problem with pangomm on Monterey/arm64, I will get in touch with the maintainers of the pangomm MacPorts package, and see whether they can fix the quartz support on arm64.
That's too bad. It may seem like there aren't many MacPorts users out there, but that's because we only collect telemetry on users that opt in to having their data collected; homebrew is the inverse, and automatically collects Google Analytics data unless users opt out. |
@Benitoite, I have submitted a MacPorts ticket regarding as well as tickets for making |
First of all: thank you for the great software and comprehensive documentation!
The compilation of the current
dev
branch was straightforward under Linux Ubuntu 18.04. I just ran the documentedsudo apt install ...
and picked the build commands out of the suppliedbuild-rawtherapee
shell script.The compilation under macOS Catalina 10.15.2 was more tricky. This might be due to my ignorance on that system, but possibly an updated documentation would help as well.
It wasn't clear to me that Homebrew and MacPorts are alternatives. Some packages are only listed for Homebrew, in particular cmake and libomp. This is why I installed both and then wasted some hours treating conflicts with duplicated installations of things like expat and gtk3. The documentation should make clear that one should decide for either Homebrew or MacPorts.
I finally deinstalled Homebrew and added missing packages to MacPorts. Then things turned out considerably simpler than documented:
The text was updated successfully, but these errors were encountered: