CristianHenzel / ClipIt

ClipIt clipboard manager for GTK+
https://github.com/CristianHenzel/ClipIt
GNU General Public License v3.0
651 stars 83 forks source link

gtk3 version not working (gtk2 leftovers?) #55

Closed oberon-manjaro closed 7 years ago

oberon-manjaro commented 7 years ago

fails with

(clipit:22458): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
Trace/breakpoint trap (core dumped)

attempting to run it on Archlinux under gtk3 3.22 @pblaszczyk ?

ghost commented 7 years ago

Hi. I'll test it on Arch. I'm currently using this on different distro with the same version of gtk.

ghost commented 7 years ago

I've failed to reproduce this issue on Arch Linux x86_64. Could you please provide more details? Is this also x86_64? Is it up to date? Can you show output of ldd on clipit executable? Does it crash immediately after start or after some specific action? Did you try to perform clean build(git clean -ffdx && ./autogen.sh && ./configure --with-gtk3 && make)?

oberon-manjaro commented 7 years ago

Thank you @pblaszczyk ! Actually my PKGBUILD uses a snapshot tarball download of latest commit (a8de309) and builds:

./autogen.sh
./configure \
  --prefix=/usr \
  --sysconfdir=/etc \
  --with-gtk3 \
  --enable-appindicator
make

Yes, it crashes immediately:

$ clipit
(clipit:6561): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
Trace/breakpoint trap (core dumped)

Here's my ldd output:

linux-vdso.so.1 (0x00007fff565fe000)
libgtk-3.so.0 => /usr/lib/libgtk-3.so.0 (0x00007f7dff44d000)
libgdk-3.so.0 => /usr/lib/libgdk-3.so.0 (0x00007f7dff157000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f7dfef05000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f7dfebf2000)
libappindicator.so.1 => /usr/lib/libappindicator.so.1 (0x00007f7dfe9e5000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f7dfe6a6000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f7dfe308000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f7dfe104000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00007f7dfdef7000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x00007f7dfdce6000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f7dfdae0000)
libcairo-gobject.so.2 => /usr/lib/libcairo-gobject.so.2 (0x00007f7dfd8d7000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007f7dfd5a9000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007f7dfd382000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007f7dfd15c000)
libatk-bridge-2.0.so.0 => /usr/lib/libatk-bridge-2.0.so.0 (0x00007f7dfcf2d000)
libepoxy.so.0 => /usr/lib/libepoxy.so.0 (0x00007f7dfcc39000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00007f7dfca24000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007f7dfc7d8000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f7dfc594000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007f7dfc200000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f7dfbefc000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f7dfbcdf000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007f7dfbadc000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007f7dfb8d1000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007f7dfb6c6000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007f7dfb4c3000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f7dfb2c0000)
libxkbcommon.so.0 => /usr/lib/libxkbcommon.so.0 (0x00007f7dfb080000)
libwayland-cursor.so.0 => /usr/lib/libwayland-cursor.so.0 (0x00007f7dfae78000)
libwayland-egl.so.1 => /usr/lib/libwayland-egl.so.1 (0x00007f7dfac76000)
libwayland-client.so.0 => /usr/lib/libwayland-client.so.0 (0x00007f7dfaa67000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f7dfa855000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007f7dfa64d000)
libffi.so.6 => /usr/lib/libffi.so.6 (0x00007f7dfa444000)
libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f7dfa1d1000)
libindicator.so.7 => /usr/lib/libindicator.so.7 (0x00007f7df9fc3000)
libdbusmenu-gtk.so.4 => /usr/lib/libdbusmenu-gtk.so.4 (0x00007f7df9daf000)
libdbusmenu-glib.so.4 => /usr/lib/libdbusmenu-glib.so.4 (0x00007f7df9b93000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00007f7df9553000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00007f7df929e000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f7df8fe1000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f7df8db8000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f7df8bb4000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7dffd57000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007f7df890c000)
libEGL.so.1 => /usr/lib/libEGL.so.1 (0x00007f7df86d8000)
libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f7df84a2000)
libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00007f7df829e000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f7df8090000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f7df7e85000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f7df7c6f000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f7df79fd000)
libatspi.so.0 => /usr/lib/libatspi.so.0 (0x00007f7df77cc000)
libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f7df757c000)
libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007f7df731b000)
libthai.so.0 => /usr/lib/libthai.so.0 (0x00007f7df7111000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f7df6ee7000)
libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007f7df6cd0000)
libmount.so.1 => /usr/lib/libmount.so.1 (0x00007f7df6a86000)
libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f7df6876000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f7df6672000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f7df646c000)
libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007f7df626a000)
libxcb-dri2.so.0 => /usr/lib/libxcb-dri2.so.0 (0x00007f7df6065000)
libxcb-xfixes.so.0 => /usr/lib/libxcb-xfixes.so.0 (0x00007f7df5e5d000)
libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0 (0x00007f7df5c5a000)
libxcb-present.so.0 => /usr/lib/libxcb-present.so.0 (0x00007f7df5a57000)
libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0x00007f7df5850000)
libxshmfence.so.1 => /usr/lib/libxshmfence.so.1 (0x00007f7df564d000)
libgbm.so.1 => /usr/lib/libgbm.so.1 (0x00007f7df5440000)
libwayland-server.so.0 => /usr/lib/libwayland-server.so.0 (0x00007f7df522d000)
libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007f7df501d000)
libglapi.so.0 => /usr/lib/libglapi.so.0 (0x00007f7df4dee000)
libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0x00007f7df4bd2000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007f7df49cc000)
libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007f7dffe94000)
libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007f7df47a0000)
libdatrie.so.1 => /usr/lib/libdatrie.so.1 (0x00007f7df4598000)
libblkid.so.1 => /usr/lib/libblkid.so.1 (0x00007f7df4355000)
libuuid.so.1 => /usr/lib/libuuid.so.1 (0x00007f7df4150000)
libcap.so.2 => /usr/lib/libcap.so.2 (0x00007f7df3f4c000)
liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f7df3d26000)
liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007f7df3b14000)
libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007f7df3805000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f7df35f1000)
ghost commented 7 years ago

appindicator support was not prepared after adding gtk3. Please check if 3b32753dca7970a749f430c7aa746023e393d691 works for you. With this I'm able to start process but I don't use appindicator on regular basis so I'm not sure if it works as expected. If yes, I'll create pr with this fix.

oberon-manjaro commented 7 years ago

Actually I had already tried compiling latest master without appindicator enabled, with the exact same failure. Your new commit now renders a working version for me (again, regardless if compiled with or without appindicator) but I have an endless output of: (clipit:20042): Gdk-CRITICAL **: gdk_window_get_pointer: assertion 'GDK_IS_WINDOW (window)' failed

ghost commented 7 years ago

Yes, this will also need to be fixed however for now it does not seem to affect application (or am I missing something?). There are bunch of symbols marked as deprecated which should no longer be used. I'll get back to it when I'll have more time.

oberon-manjaro commented 7 years ago

Thank you. Well it throws an error message every second - so it's kind of not trivial to have it running in the background and spamming error logs like that :wink: Doesn't happen with the regular gtk2 version in any case.

ghost commented 7 years ago

Hi. This should fix earlier mentioned issue. There is still bunch of compilation warnings related do deprecated symbols and runtime errors. I'll attempt to fix them with time.

oberon-manjaro commented 7 years ago

Brilliant! Thank you. Working flawlessly now :+1:

onlyjob commented 6 years ago

Why this bug is closed without merging https://github.com/pblaszczyk/ClipIt/commit/ea3e1c4dd53f022289dd1c4835200ce2eab8ec98?