#41935 closed defect (fixed)
Mismatch between gtk3 / gtk3mm?
Reported by: | Veence (Vincent) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.1 |
Keywords: | Cc: | neverpanic (Clemens Lang) | |
Port: | gktmm3 |
Description
When trying to run inkscape-devel +gtk3, I get the following error:
dyld: lazy symbol binding failed: Symbol not found: _gtk_plug_get_type Referenced from: /opt/local/lib/libgtkmm-3.0.1.dylib Expected in: /opt/local/lib/libgtk-3.0.dylib dyld: Symbol not found: _gtk_plug_get_type Referenced from: /opt/local/lib/libgtkmm-3.0.1.dylib Expected in: /opt/local/lib/libgtk-3.0.dylib
Which seems to suggest that the versions of gtk3 and gtkmm3 are no more synchronized. Any clue?
Change History (14)
comment:1 Changed 11 years ago by dbevans (David B. Evans)
comment:2 Changed 11 years ago by Veence (Vincent)
I have built default versions of gtk3 and gtkmm3 (gtk3 defaults to +quartz, yes).
Air > port installed gtkmm3 The following ports are currently installed: gtkmm3 @3.10.1_1 (active) Air > port installed gtk3 The following ports are currently installed: gtk3 @3.10.6_1+no_x11+quartz (active)
I see no way to build gtkmm3 with a +quartz variant:
Air > port info gtkmm3 gtkmm3 @3.10.1_1 (x11, devel) Variants: universal
comment:3 Changed 11 years ago by dbevans (David B. Evans)
Sorry I misspoke, gtkmm3 does not have a +quartz variant.
If your gtk3 is installed with +quartz (default is +x11, so I'm assuming you have +quartz set in variants.conf) then make sure that dependents cairomm, pangomm of gtkmm are built with +quartz and then rebuild gtkmm3.
comment:4 Changed 11 years ago by Veence (Vincent)
I'll check that right away. I apologize, my precedent message was a bit blunt.
comment:5 Changed 11 years ago by Veence (Vincent)
They are already correct :
Air > port installed cairomm The following ports are currently installed: cairomm @1.10.0_3+quartz (active) Air > port installed pangomm The following ports are currently installed: pangomm @2.34.0_2+quartz (active)
By the way, you're right, I have specified +quartz and +no_x11 in my defaults.conf…
comment:6 Changed 11 years ago by dbevans (David B. Evans)
Ok, so go ahead and rebuild gtkmm3 from source.
sudo port -ns upgrade --force gtkmm3
If this works then it tends to support my operating theory that you have a gtkmm3 that was build with gtk3 +x11 (such as the one that is available from archive) rather than gtk3 +quartz (which you have on your system). If so, then I will fix the gtkmm3 port to prevent this (add +x11 +quartz variants, check variants of dependencies, etc).
comment:7 Changed 11 years ago by Veence (Vincent)
Bingo! You were spot-on. Thanks a lot! I guess you're right, gtkmm3 needs some variants to avoid this mingling. Thanks again! I let you close the ticket when you're done with the update, maybe.
comment:8 Changed 11 years ago by dbevans (David B. Evans)
Owner: | changed from macports-tickets@… to devans@… |
---|---|
Status: | new → assigned |
comment:9 Changed 11 years ago by dbevans (David B. Evans)
Cc: | devans@… removed |
---|
comment:10 Changed 11 years ago by dbevans (David B. Evans)
Keywords: | gtk3 gtkmm3 removed |
---|---|
Port: | gtk3 removed |
comment:11 Changed 11 years ago by dbevans (David B. Evans)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fix committed in r115185. This same change was already incorporated in gtkmm but somehow missed getting into gtkmm3. Thanks for your report.
comment:12 Changed 11 years ago by Veence (Vincent)
You're most welcome. By the way, with gtk3, I got a lot of error messages from Inkscape
*** BUG *** In void pixman_region32_init_rect(region_type_t *, int, int, unsigned int, unsigned int): Invalid rectangle passed Set a breakpoint on '_pixman_log_error' to debug
Do you get them also?
comment:13 Changed 11 years ago by dbevans (David B. Evans)
No, I haven't seen this but most of the testing I've done of the +gtk3 variant has been done with +x11 and not +quartz. Note that the Inkscape developers consider this to be an experimental build, WIP. But that's why I added the +gtk3 variant -- so the developers could get more testing feedback. I suggest that you report whatever bugs (and possibly solutions) you find upstream as well as here so they (and we) are aware of the problem. You can report bugs here.
However, note that they have just today declared code 'Chill' today, the first step preparing for a new stable release to be numbered 0.91 which will not include GTK3 support. Focus is on cleanup, fixing of regressions, etc, in the GTK2 code.
Using +x11 the most notable problem I have seen is a lot of flashing when redrawing the display particularly during resizing and scrolling of windows that contain images larger than the window.
comment:14 Changed 11 years ago by Veence (Vincent)
Thanks for the info. In my opinion, the GTK3 interface looks smarter and somehow closer to what we are used on native Cocoa UI.
FYI, I also get the same behavior when scrolling windows. Lot of flickering. Go figure, thanks for the link to report bug.
Thanks again and happy 2014!
I can't reproduce the problem here. I'm using +x11 for gtk3, gtkmm3 and inkscape-devel +gtk3
Tell me more about your builds. Have you built gtk3 with the +quartz variant? gtk_plug_get_type is not built for +quartz. Make sure that gtkmm3 is built with the same variants as gtk3. What about gtkmm3?
I would try rebuilding gtkmm3 using the same variants as gtk3 and see if that helps.