GNOME Bugzilla – Bug 346961
GTK install fails on SuSE 10.1 x86_64
Last modified: 2006-07-27 11:06:17 UTC
I've been trying for some time now to get GTK+ to install on SuSE 10.1 x86_64. I've tried multiple versions; both standalone, and part of GARNOME. The problem is that the "lt-gtk-query-immodules-2.0" program incorrectly dectects the location of system libraries, returning 32-bit versions instead of the proper 64-bit ones. Example from 'gtk.immodules', GARNOME v2.14.2.1 build (GTK+-2.8.18): # GTK+ Input Method Modules file # Automatically generated file, do not edit # Created by /home/karsten/downloads/garnome/garnome-2.14.2.1/platform/gtk+/work/main.d/gtk+-2.8.18/gtk/.libs/lt-gtk-query-immodules-2.0 from gtk+-2.8.18 # # ModulesPath = /usr/local/lib/gtk-2.0/2.4.0/x86_64-unknown-linux-gnu/immodules:/usr/local/lib/gtk-2.0/2.4.0/immodules:/usr/local/lib/gtk-2.0/x86_64-unknown-linux-gnu/immodules:/usr/local/lib/gtk-2.0/immodules:/opt/gnome/lib/gtk-2.0/2.4.0/x86_64-unknown-linux-gnu/immodules:/opt/gnome/lib/gtk-2.0/2.4.0/immodules:/opt/gnome/lib/gtk-2.0/x86_64-unknown-linux-gnu/immodules:/opt/gnome/lib/gtk-2.0/immodules:/usr/lib/gtk-2.0/2.4.0/x86_64-unknown-linux-gnu/immodules:/usr/lib/gtk-2.0/2.4.0/immodules:/usr/lib/gtk-2.0/x86_64-unknown-linux-gnu/immodules:/usr/lib/gtk-2.0/immodules:/home/karsten/.gtk-2.0/2.4.0/x86_64-unknown-linux-gnu/immodules:/home/karsten/.gtk-2.0/2.4.0/immodules:/home/karsten/.gtk-2.0/x86_64-unknown-linux-gnu/immodules:/home/karsten/.gtk-2.0/immodules:/home/karsten/garnome-2.14.2.1/lib/gtk-2.0/2.4.0/x86_64-unknown-linux-gnu/immodules:/home/karsten/garnome-2.14.2.1/lib/gtk-2.0/2.4.0/immodules:/home/karsten/garnome-2.14.2.1/lib/gtk-2.0/x86_64-unknown-linux-gnu/immodules:/home/karsten/garnome-2.14.2.1/lib/gtk-2.0/immodules # Firstly, there is no directory on my system named '/usr/local/lib/gtk-2.0/2.4.0/x86_64-unknown-linux-gnu/immodules,' the information it is returning is bogus. Secondly, the files it DOES find are the 32-bit versions, which are unusable by a 64-bit build/compile: '/usr/lib/gtk-2.0/2.4.0/x86_64-unknown-linux-gnu/immodules' should return '/usr/lib64/gtk-2.0/2.4.0/x86_64-unknown-linux-gnu/immodules' instead. The make-install error is this: ---------------------------------------------------------------------- make install-data-hook make[12]: Entering directory `/home/karsten/downloads/garnome/garnome-2.14.2.1/platform/gtk+/work/main.d/gtk+-2.8.18/modules/input' /bin/sh ../../mkinstalldirs /home/karsten/garnome-2.14.2.1/etc/gtk-2.0 ../../gtk/gtk-query-immodules-2.0 > /home/karsten/garnome-2.14.2.1/etc/gtk-2.0/gtk.immodules Cannot load module /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-ipa.so: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-ipa.so: wrong ELF class: ELFCLASS32 /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-ipa.so does not export GTK+ IM module API: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-ipa.so: wrong ELF class: ELFCLASS32 Cannot load module /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-am-et.so: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-am-et.so: wrong ELF class: ELFCLASS32 /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-am-et.so does not export GTK+ IM module API: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-am-et.so: wrong ELF class: ELFCLASS32 Cannot load module /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-xim.so: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-xim.so: wrong ELF class: ELFCLASS32 /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-xim.so does not export GTK+ IM module API: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-xim.so: wrong ELF class: ELFCLASS32 Cannot load module /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-cedilla.so: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-cedilla.so: wrong ELF class: ELFCLASS32 /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-cedilla.so does not export GTK+ IM module API: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-cedilla.so: wrong ELF class: ELFCLASS32 Cannot load module /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-thai-broken.so: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-thai-broken.so: wrong ELF class: ELFCLASS32 /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-thai-broken.so does not export GTK+ IM module API: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-thai-broken.so: wrong ELF class: ELFCLASS32 Cannot load module /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-inuktitut.so: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-inuktitut.so: wrong ELF class: ELFCLASS32 /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-inuktitut.so does not export GTK+ IM module API: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-inuktitut.so: wrong ELF class: ELFCLASS32 Cannot load module /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-viqr.so: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-viqr.so: wrong ELF class: ELFCLASS32 /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-viqr.so does not export GTK+ IM module API: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-viqr.so: wrong ELF class: ELFCLASS32 Cannot load module /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-ti-er.so: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-ti-er.so: wrong ELF class: ELFCLASS32 /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-ti-er.so does not export GTK+ IM module API: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-ti-er.so: wrong ELF class: ELFCLASS32 Cannot load module /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-ti-et.so: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-ti-et.so: wrong ELF class: ELFCLASS32 /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-ti-et.so does not export GTK+ IM module API: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-ti-et.so: wrong ELF class: ELFCLASS32 Cannot load module /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-cyrillic-translit.so: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-cyrillic-translit.so: wrong ELF class: ELFCLASS32 /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-cyrillic-translit.so does not export GTK+ IM module API: /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-cyrillic-translit.so: wrong ELF class: ELFCLASS32 make[12]: *** [install-data-hook] Error 1 ---------------------------------------------------------------------- Is this method of only looking in /lib and not /lib64 directories hard-coded into the lt-gtk-query-immodules-2.0 program or can it be made to search for /lib64 paths as a priority if it is a 64-bit build environment? Thanks for any help.
i guess what really needs to happen is that 'gtk-query-immodules-2.0-64' gets called to return the 64-bit library paths, instead of 'gtk-query-immodules-2.0.' i'm looking at the source and i can't see how to make it happen. replacing the executable with the 64-bit one has no effect, it still returns 32-bit paths. i'm assuming it's a wrapper of some sorts? just need a little architecture autodetect before the call is all.. i'm just not sure how to implement it. thanks, karsten
You'll have to talk to the SuSE people about SuSE-specific installation problems; we are not going to be able to help you with that.
I filed it in OpenSuSE bugzilla. Here's the link: https://bugzilla.novell.com/show_bug.cgi?id=191176 hopefully someone can figure out how to fix it.
well they sent me right back here.. said it wasn't a suse-specific issue :-/ any ideas? why is gtk-query-immodules-2.0 getting called instead of gtk-query-immodules-2.0-64? thanks.. karsten
there is no gtk-query-immodules-2.0-64 in upstream GTK+. Their spec file does that...
Yes, the SuSE way to do gtk-query-immodules-2.0 differs from the upstream one. It is required change for bi-architectural platforms. The change is a work-around of the bug 153848.