Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 516828

Summary: x11-libs/gtk-mac-integration-2.0.5 has automagic dependency on gtk2/3 and needs slotting
Product: Gentoo/Alt Reporter: Michael Weiser <michael>
Component: Prefix SupportAssignee: Gentoo Prefix <prefix>
Status: RESOLVED OBSOLETE    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Michael Weiser 2014-07-10 08:44:22 UTC
gtk-mac-integration has an automagic dependency on gtk-2.0/-3.0. It uses whatever it finds when configuring, prefering gtk3. On my system, GIMP and inkscape require gtk2, Wireshark-1.12 will only work with gtk3. Depending on which gtk gtk-mac-integration is linked against, either will crash with messages as shown below while the other will work.

gtk-mac-integration's configure has an option --with-gtk accepting gtk+-2.0 and gtk+-3.0 as parameters.

So I guess the package would need to be slotted for gtk2 and gtk3 in some way. If you could sketch out the way to go (versioning scheme for the package and libs, putting libs in separate paths or renaming them, ...) I'd give it a go.

Thanks,
Michael

crash messages:
michael@sys:~ # gimp
objc[29562]: Class GdkQuartzView is implemented in both /usr/local/gentoo/usr/lib/libgdk-3.0.dylib and /usr/local/gentoo/usr/lib/libgdk-quartz-2.0.0.dylib. One of the two will be used. Which one is undefined.
objc[29562]: Class GtkQuartzStatusIcon is implemented in both /usr/local/gentoo/usr/lib/libgtk-3.0.dylib and /usr/local/gentoo/usr/lib/libgtk-quartz-2.0.0.dylib. One of the two will be used. Which one is undefined.
objc[29562]: Class GtkClipboardOwner is implemented in both /usr/local/gentoo/usr/lib/libgtk-3.0.dylib and /usr/local/gentoo/usr/lib/libgtk-quartz-2.0.0.dylib. One of the two will be used. Which one is undefined.
objc[29562]: Class GtkDragSourceOwner is implemented in both /usr/local/gentoo/usr/lib/libgtk-3.0.dylib and /usr/local/gentoo/usr/lib/libgtk-quartz-2.0.0.dylib. One of the two will be used. Which one is undefined.
objc[29562]: Class ResultReceiver is implemented in both /usr/local/gentoo/usr/lib/libgtk-3.0.dylib and /usr/local/gentoo/usr/lib/libgtk-quartz-2.0.0.dylib. One of the two will be used. Which one is undefined.

(gimp:29562): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported

michael@sys:~ # wireshark
objc[37085]: Class GdkQuartzView is implemented in both /usr/local/gentoo/usr/lib/libgdk-quartz-2.0.0.dylib and /usr/local/gentoo/usr/lib/libgdk-3.0.dylib. One of the two will be used. Which one is undefined.
objc[37085]: Class GtkQuartzStatusIcon is implemented in both /usr/local/gentoo/usr/lib/libgtk-quartz-2.0.0.dylib and /usr/local/gentoo/usr/lib/libgtk-3.0.dylib. One of the two will be used. Which one is undefined.
objc[37085]: Class GtkClipboardOwner is implemented in both /usr/local/gentoo/usr/lib/libgtk-quartz-2.0.0.dylib and /usr/local/gentoo/usr/lib/libgtk-3.0.dylib. One of the two will be used. Which one is undefined.
objc[37085]: Class GtkDragSourceOwner is implemented in both /usr/local/gentoo/usr/lib/libgtk-quartz-2.0.0.dylib and /usr/local/gentoo/usr/lib/libgtk-3.0.dylib. One of the two will be used. Which one is undefined.
objc[37085]: Class ResultReceiver is implemented in both /usr/local/gentoo/usr/lib/libgtk-quartz-2.0.0.dylib and /usr/local/gentoo/usr/lib/libgtk-3.0.dylib. One of the two will be used. Which one is undefined.

(wireshark:37085): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
Trace/BPT trap: 5
Comment 1 Michael Weiser 2016-05-20 17:45:43 UTC
I no longer need it.