On a 64-bit install, 32-bit apps will not be skinned by this engine

Bug #574476 reported by Craig Magina
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
ia32-libs (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: gtk2-engines-qtcurve

I see the issue when using java apps and adobe air apps on an amd64 Kubuntu install.
I know all of these apps are fine when used on a 32-bit install of Kubuntu.

Specific apps I see this with:
Cisco AnyConnect
Pandora (the certification accept pop-up)

Related branches

Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Java and Adobe Air are GUI toolkits in and of themselves, and are not GTK apps.

Changed in gtk2-engines-qtcurve (Ubuntu):
status: New → Invalid
Revision history for this message
Craig Magina (craig.magina) wrote :

Here is the error these apps output:

(Pandora:5513): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so: wrong ELF class: ELFCLASS64

Not sure how this could be worked around. Any way to get gtk to use different theme engines based on the apps build architecture?

Revision history for this message
Craig Magina (craig.magina) wrote :

I found some help towards a solution here:
http://ubuntuforums.org/showthread.php?t=159810

So, after extracting the 32-bit version of libqtcurve.so, I copied it to the /usr/lib32/gtk-2.0/2.10.0/engines/ and everything is working fine now. It appears we install a bunch of 32-bit themes already as that path was already created and populated with other themes, it just didn't have qtcuve in there.

Changed in gtk2-engines-qtcurve (Ubuntu):
status: Invalid → Confirmed
Revision history for this message
Craig Magina (craig.magina) wrote :

Ok, so I used a downloaded copy of the i686 firefox for my example of the issue I am seeing here. I've attached two screenshots, one is what you see in a default Kubuntu amd64 system and the other is after I installed the 32-bit version of the libqtcurve.so gtk engine.

Firefox emits the same Gtk-WARNING as Pandora.

Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so: wrong ELF class: ELFCLASS64

ia32-libs installs base gtk engines, 32-bit versions, but it doesn't include qtcurve, which I would expect. I do not know how to solve the problem, but the solution is to include a 32-bit version of libqtcurve.so for 64-bit Kubuntu systems. Putting the engine in ia32-libs doesn't seem like the correct location as that is used by Ubuntu as well whereas this change is specific to Kubuntu.

I am willing to do the work, just not sure what that work is. Is there a Kubuntu specific package that is installed for 32-bit compatibility on 64-bit systems?

Revision history for this message
Craig Magina (craig.magina) wrote :
Revision history for this message
Craig Magina (craig.magina) wrote :

Looks like the gtk2-engines-qtcurve package can just be added to the ia32-libs package. I downloaded the sources and checked out what it already includes, which is quite a lot. I'll give it a shot at creating a patch for the package, unless this isn't actually the correct way to fix this.

Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Feh, didn't mean to change that to invalid.

affects: gtk2-engines-qtcurve (Ubuntu) → ia32-libs (Ubuntu)
Changed in ia32-libs (Ubuntu):
status: Confirmed → Invalid
status: Invalid → New
Revision history for this message
Craig Magina (craig.magina) wrote :

I've attached a debdiff that is my proposed solution to this problem. I have tested the generated package and it worked successfully.

Revision history for this message
Adam Guthrie (therigu) wrote :

There's now a 2.7ubuntu26 in lucid-proposed so could you refresh your patch to be 2.7ubuntu27?

tags: added: patch patch-needswork
Revision history for this message
Craig Magina (craig.magina) wrote :

Here is the updated patch.

Revision history for this message
Stefano Rivera (stefanor) wrote :

This bug was fixed in the package ia32-libs - 20090808ubuntu1

---------------

  * Merge with Debian unstable. (LP: #618666) Remaining Ubuntu changes:
    - sources.list.deb: Debian -> Ubuntu archive apt sources.
    - Add debian/pango.modules and install them in debian/rules.
    - debian/rules:
      + Depend on lib32bz2-1.0 on amd64 instead of shipping it.
      + Depend on lib32v4l package
      + Automatically create all missing .so symlinks in /lib32
        and /usr/lib32 as the manual list of links was always out of sync and
        incomplete (LP: #277772, #309841).
      + Remove the automatically created libstdc++.so symlink, it's not needed.
        g++-4.3-multilib provides the right symlink (LP: #360870)
      + Add gvfs and symlinks for gio (LP: #369498)
      + Add symlink to libGL.so for Wine building (LP: #513554)
      + Compress packages with LZMA
    - debian/rules, debian/ia32-libs.conf: Add /lib32 and /usr/lib32 to ld
      search path.
    - fetch-and-build:
      + fetch-and-build: Add packages we want/need in Ubuntu. This also
        includes SDL and GTK, which are in separate source packages in Debian.
      + fetch-and-build: Do not die on source/binary version mismatch when
        defining $SOURCE_VER_MISMATCH. Useful right after opening a new Ubuntu
        release, when the archive is in heavy flux.
      + Dropped:
        > libartsc0 (which is now obsolete)
        > libxtrap6 (package seems to be gone from the archive)
      + Added:
        > libgsl0ldbl (LP: #130058)
        > libsmbios2 (dependency for libhal1)
        > libcelt0-0 (dependency for libjack0)
        > libmad0 (LP: #249794)
        > libvorbis0a (LP: #249794)
        > libvorbisfile3 (LP: #249794)
        > libwrap0 (LP: #290533)
  * debian/control: Don't Conflict/Replace lib32bz2-1.0, as we depend on it.
  * debian/rules: Bump GCC 4.3 to 4.5 to match new lib32gcc1
  * fetch-and-build:
    - Added: gtk2-engines-qtcurve. Thanks to Craig Magina (LP: #574476)
    - Dropped: libesd-alsa0 (replaced by libesd0)
    - Bumped:
      + libdirectfb to 1.2-9 from 1.2-0
      + libao2 to libao4
      + odbcinsta1debian1 to odbcinsta1debian2
 -- Stefano Rivera <email address hidden> Mon, 16 Aug 2010 15:36:51 -0000

Changed in ia32-libs (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.