When the GTK+-2.0 theme is set to CleanIce (gtk-engines-cleanice-1.2.7), GTK+-2.0 programs output an undefined symbol Gtk-WARNING: (gvim:15585): Gtk-WARNING **: /usr/lib/gtk-2.0/2.4.0/engines/libcleanice.so: undefined symbol: GTK_IS_COMBO Reproducible: Always Steps to Reproduce: 1. emerge gtk-engines-cleanice 2. ln -s /usr/share/themes/CleanIce/gtk-2.0/gtkrc ~/.gtkrc-2.0 3. Run any GTK+-2.0 program, such as gvim Actual Results: The theme does not work (I've seen the theme on my SuSE box, and it appears that I get the default GTK theme). The following is output to the current terminal from which the GTK+-2.0 program was run: (gvim:15585): Gtk-WARNING **: /usr/lib/gtk-2.0/2.4.0/engines/libcleanice.so: undefined symbol: GTK_IS_COMBO Expected Results: The theme engine should have been loaded successfully, minus the undefined symbol. I was able to find a hint here: http://mail.gnome.org/archives/gtk-list/2004-May/msg00032.html It involves removing -DGTK_DISABLE_DEPRECATED from the compiler flags. Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10-gentoo-r6 i686) ================================================================= System uname: 2.6.10-gentoo-r6 i686 Pentium III (Katmai) Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Mar 4 2005, 05:21:46)] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium3 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium3 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X alsa apm arts avi berkdb bitmap-fonts bonobo cdr crypt cups curl emboss encode esd f77 fam font-server foomaticdb fortran gdbm gif gmp gpm gtk gtk2 gtkhtml imagemagick imlib ipv6 jack java jpeg kde ladcca libg++ libwww mad mikmod mmx motif mpeg mysql ncurses nls nptl oggvorbis opengl oss pam pdflib perl png python qt quicktime readline samba sdl spell sqlite sse ssl svga tcpd tiff truetype truetype-fonts type1-fonts unicode xml xml2 xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Created attachment 55751 [details] Demonstrates the problem. Compile with gcc `pkg-config --cflags --libs gtk+-2.0` main14.c -o main14
Does this still occur with recent versions of the engine?
Yes, I just re-emerged the latest version and I'm getting the same behavior.
Could you try to reproduce this with an application that is part of the gnome desktop so we can try to reproduce it more easily?
Unfortunately I run KDE...I don't even have gnome installed. I do however use many GTK2 programs, like gvim, Firefox, Thunderbird, gaim, etc. The theme doesn't work in any of them. Do you think this is a problem specific to non-gnome GTK apps?
I guess my next question would be, in what way does the theme/engine not work? I've tried using it while running firefox, mozilla and gvim, and everything seems fine. No Gtk-WARNINGs either. Also, what version of gtk-engines-cleanice do you have now? What theme exactly are you using?
I guess it's possible that I could be doing something wrong, which would probably actually be a good thing (maybe a quick fix?). Since I don't run the Gnome desktop, I set up my engine/theme manually by creating a .gtkrc-2.0 symlink in my home directory. In the case of CleanIce, like so: ~$ ln -s /usr/share/themes/CleanIce/gtk-2.0/gtkrc .gtkrc-2.0 This works just fine for any other engine/theme I have tried other than CleanIce (CleanIce-Dark also exhibits the same problem); none of them display the Gtk-WARNING message except for the two CleanIce's. If I completely remove my .gtkrc-2.0 symlink, I get the vanilla GTK+ engine/theme. When I link .gtkrc-2.0 to CleanIce or CleanIce-Dark, I get the same vanilla GTK+ theme--there is no visual difference. As soon as I point my .gtkrc-2.0 to another theme, like Clearlooks, I get a much different looking app. So, in answer to which engine/theme I'm using, I've tried both: ~$ ln -s /usr/share/themes/CleanIce/gtk-2.0/gtkrc .gtkrc-2.0 ~$ ln -s /usr/share/themes/CleanIce-Dark/gtk-2.0/gtkrc .gtkrc-2.0 My version of the gtk-engines-cleanice package is 1.2.7, which I believe is the newest stable version in portage. I get the Gtk-WARNING on all of my GTK+ 2.0 apps. Hope this helps!
Okay, thanks for the information. I guess there was a misunderstanding when I asked to test a recent version on comment #2. I meant gtk-engines-cleanice-2.4.0, which is still in testing (~arch) phase. Please emerge that version and let us know how it goes.
Sorry for taking so long to get back on this. I emerged the 2.4.0, and the problem is solved! I don't get any more Gtk-WARNINGs and my apps are in fact using the engine now.
Thanks for the feedback. I've marked gtk-engines-cleanice-2.4.0 stable on x86 due to this issue.