You are not logged in.

#1 2009-08-09 15:54:04

clamshell
Member
Registered: 2008-04-16
Posts: 8

[SOLVED] Building 32bit gtk2 theme engines for binary 32bit apps

Hello, I love the nimbus theme and have installed it from the AUR.

Sadly, there are applications like acroread, foxitreader etc. that won't load the engine and use a nasty default saying

Gtk-Message: Failed to load module "/opt/lib32/usr/lib/gtk-2.0/modules/libgnomebreakpad.so": /opt/lib32/usr/lib/gtk-2.0/modules/libgnomebreakpad.so: cannot open shared object file: No such file or directory

(FoxitReader:10389): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libnimbus.so: wrong ELF class: ELFCLASS64

(FoxitReader:10389): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libnimbus.so: wrong ELF class: ELFCLASS64
Gtk-Message: Failed to load module "canberra-gtk-module": /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so: wrong ELF class: ELFCLASS64
Gtk-Message: Failed to load module "gnomebreakpad": /usr/lib/gtk-2.0/modules/libgnomebreakpad.so: wrong ELF class: ELFCLASS64

As far as I understand, especially since using the Clearlooks engine, everything works as intended. Clearlooks however has a 32bit version in

/opt/lib32/usr/lib/gtk-2.0/2.10.0/engines

I want to be able to use the nimbus theme everywhere. However I can't figure out how to make a 32bit binary with the provided gcc and moreover, where to put the resulting files.

Please help, it really murders consistency and renders 64bit Arch a real pain in the a**. I know about the pure 64bit stance, but honestly, there are some apps that are simply only 32bit.

Last edited by clamshell (2009-08-16 18:58:20)

Offline

#2 2009-08-12 08:51:15

clamshell
Member
Registered: 2008-04-16
Posts: 8

Re: [SOLVED] Building 32bit gtk2 theme engines for binary 32bit apps

Okay, well... can anyone upload a 32bit nimbus engine package somewhere?

After using the ABS to get it, you end up with a pkg file. I would like the -i686 one and hopefully, by extracting it properly, kind of like how they do it for the 32bit gtk theme engines, I can use it.

I only need the 32bit package. I don't have a 33bit installation lying around to compile the engine. Anyone? Please?

I'll even write a tutorial if I get this working. (No, I really don't want a chroot...)

Offline

#3 2009-08-12 10:53:13

jelly
Administrator
From: /dev/null
Registered: 2008-06-10
Posts: 714

Re: [SOLVED] Building 32bit gtk2 theme engines for binary 32bit apps

clamshell wrote:

Okay, well... can anyone upload a 32bit nimbus engine package somewhere?

After using the ABS to get it, you end up with a pkg file. I would like the -i686 one and hopefully, by extracting it properly, kind of like how they do it for the 32bit gtk theme engines, I can use it.

I only need the 32bit package. I don't have a 33bit installation lying around to compile the engine. Anyone? Please?

I'll even write a tutorial if I get this working. (No, I really don't want a chroot...)

First relax , you probaly just need to make the package work like for example the lib32-libblaat  libary's do. So could you tell me wich theme works fine , then you need to look into the PKGBUILD and make it also work for your theme. And do you actually need to compile the engine ?

And btw actually a chroot is nicer then multilib but nevermind wink

Last edited by jelly (2009-08-12 10:55:38)

Offline

#4 2009-08-16 18:57:49

clamshell
Member
Registered: 2008-04-16
Posts: 8

Re: [SOLVED] Building 32bit gtk2 theme engines for binary 32bit apps

Okay so... status update.

I really wanted to make Acrobat Reader work with the Nimbus theme.
I used yaourt in a hastily set-up chroot and build the package from the aur (fortunately you can cancel the actual installation). I then copied the pkg.tar.gz to my desktop.

The 32bit Gtk themes are installed in:

/opt/lib32/usr/lib/gtk-2.0/2.10.0/engines

I used the line from the AUR pkgbuild:

cp -rPf "$srcdir/usr/lib/gtk-2.0/2.10.0/engines" "$pkgdir/opt/lib32/usr/lib/gtk-2.0/2.10.0"

So, on my system:

cp -rPf /home/dan/Desktop/usr/lib/gtk-2.0/2.10.0/engines/ /opt/lib32/usr/lib/gtk-2.0/2.10.0/

after having unzipped the package - nimbus-0.1.2-2-i686.pkg.tar.gz.

The -r option means recursive, the -P option preserver permissions and the -f option checks if the destination file can be opened and if not, deletes it and recopies.

You will notice that in the above directory, you'll find 2 files - libnimbus.a and libnimbus.so
All the other themes only have the shared object file and the .a file is an archive as far as nautilus is concerned (can't open it, need ar apparently). Everything seems to work if you delete the .a file. I am not sure if the file is only appears with this theme, or with any theme installed this way.

So, finally, it worked. Acrobat opened and used the new theme.

But...

Vertical scrollbar problem

by LucasVieites on: May 4 2009     
-        -
Hi, the vertical scrollbars overlap when viewing large documents. This screenshot is from Adobe Reader opening a 600 page document: http://www.codexion.com/files/pdf_reader_nimbus.png
I hope this can be solved.

from the gnome-look.org site.

So, it's bugged. The theme. Anyway, the tutorial should work just fine on any non-standard theme you need to use in 32bit apps. It could probably be automated a bit more and perhaps with a multilib gcc, you could do it some other way.
The point is you really need the libnimbus.so. The shared resources are architecture independent and the standard path will work.

Oh and I've given up on the nimbus theme itself actually. Care to suggest any good gtk theme?

Offline

Board footer

Powered by FluxBB