Opened 2 years ago
Closed 2 years ago
#65283 closed defect (fixed)
rawtherapee: build currently broken, due to recent segregation of gtk-osx-application-gtk3
Reported by: | mascguy (Christopher Nielsen) | Owned by: | jasonliu-- (Jason Liu) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.2 |
Keywords: | Cc: | ||
Port: | rawtherapee |
Description
Due to recent changes needed to segregate the various gtk-osx-application-xx
subports, rawtherapee
is currently broken.
In short, while most of the Gnome-related components are searched for via pkgconfig - which is arguably the right approach - upstream isn't doing so for the gtkmacintegration
components. As such, if they aren't in the expected location, they aren't found.
I took an initial stab at fixing, with the following additional configure arguments:
-DMACINTEGRATION_INCLUDE_DIR=${prefix}/include/gtkmacintegration-gtk3/gtkmacintegration -DMACINTEGRATION_LIBRARY=${prefix}/lib/gtkmacintegration-gtk3
And while that fixes both configure and compilation, linking still fails: It appears that, despite CMake finding the components, the lib isn't being added to the link-time arguments.
So I'm clearly missing something, but it isn't immediately obvious as to what.
p.s. We should bring this to upstream's attention, as the current approach is a bit brittle. And given that a pkgconfig is provided for gtk-mac-integration-gtk3
, there's no reason not to use it. (And it would eliminate this issue entirely, ensuring everything is found properly... without having to specify paths.)
Change History (9)
comment:1 follow-up: 2 Changed 2 years ago by jasonliu-- (Jason Liu)
comment:2 Changed 2 years ago by mascguy (Christopher Nielsen)
Replying to jasonliu--:
So we'll probably have to implement any fix for version 5.8 ourselves, and then ask upstream to use pkgconfig for 5.9.
No worries regardless, it's a minor issue.
But any thoughts as to fixing the current build?
comment:3 Changed 2 years ago by jasonliu-- (Jason Liu)
I'm trying to figure out why CMake seems to be able to use the components when compiling, but then isn't linking the lib. If I'm not able to determine why, then maybe I might pivot and take a stab at seeing whether I can get CMake to use pkgconfig to find and use gtk-mac-integration-gtk3
.
comment:4 Changed 2 years ago by jasonliu-- (Jason Liu)
Ok, I think I've got it. I wasn't able to figure out why CMake was compiling but not linking the lib, so I instead went ahead and made it so that CMake is able to utilize pkgconfig to locate gtk-mac-integration-gtk3
.
comment:5 Changed 2 years ago by jasonliu-- (Jason Liu)
Hmm, I might have spoken too soon. The entire MacPorts build runs to completion, but the app is now crashing immediately upon launch. I'm looking into what the problem might be.
comment:6 Changed 2 years ago by jasonliu-- (Jason Liu)
I can't figure out what's causing the crash on launch. I'm going to go ahead and submit the PR, because it does resolve this current ticket's problem with not being to use gtk-mac-integration-gtk3
. The crashing issue will probably need to be resolved in a different PR or Trac ticket.
comment:7 Changed 2 years ago by jasonliu-- (Jason Liu)
PR submitted: https://github.com/macports/macports-ports/pull/15104
comment:8 Changed 2 years ago by jasonliu-- (Jason Liu)
The CI build just failed, due to failing to install dependencies for rawtherapee. Specifically, it's failing to install gtk-osx-application-common-gtk3
. Looking at the port health page, it looks like gtk-osx-application-common-gtk3
isn't building on the servers (due to requiring gtk3 +quartz
, which is a non-default variant), so that would cause the rawtherapee port to also fail to build.
https://github.com/macports/macports-ports/runs/6822822247?check_suite_focus=true
comment:9 Changed 2 years ago by Jason Liu <jasonliu--@…>
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Replying to mascguy:
We can certainly report it upstream, but it's very unlikely that they would accept any changes for version 5.8. If you read through the thread in Issue #5590, particularly where I insert myself into the conversation, it seems that all of upstream's efforts are focused on incorporating any improvements into what will eventually become version 5.9.
So we'll probably have to implement any fix for version 5.8 ourselves, and then ask upstream to use pkgconfig for 5.9.