Etch amd64: installing 32bit apps

If you’re running Debian Etch for amd64 you might want to install some 32bit applications, too. As some browser plugins (like Adobe’s Flash oder Sun’s Java) are available as 32bit binaries only, you may need a 32bit browser. In Ubuntu that was done very easily whereas in Debian this task needs a bit of extra work. So, here we go. (The original post can be found in German on debianforum.de. Thanks to “Linuxpeter”!)

First make sure those packages are installed:

  • linux32
  • ia32-libs
  • ia32-libs-gtk (get it from Debian unstable here)

Use synaptic to install “ia32-libs” and “linux32” or type as root:

apt-get install ia32-libs linux32

“ia32-libs-gtk” is not in Etch’s repositories anymore so I downloaded version 1.0 from Debian’s unstable branch. Make sure the dependencies are met, which is by the time of writing only “ia32-libs” version 1.18 or greater. Install it as root by:

cd /path/to/ia32-libs-gtk_1.0_amd64.deb
dpkg -i ia32-libs-gtk_1.0_amd64.deb

If not already there create the text file “/etc/pango32/pangorc” (of course you need to be root for all of this!):

[Pango]
ModuleFiles=/etc/pango32/pango.modules
[PangoX]
AliasFiles=/etc/pango/pangox.aliases

And a little wrapper script which sets some environment variables as “/usr/local/bin/start32”:

#!/bin/sh
export GTK_IM_MODULE_FILE=/etc/gtk-2.0/gtk.immodules.32
export GCONV_PATH=/usr/lib32/gconv
export GDK_PIXBUF_MODULE_FILE=/etc/gtk-2.0/gdk-pixbuf.loaders.32
export GTK_PATH=/usr/lib32/gtk-2.0
export PANGO_RC_FILE=/etc/pango32/pangorc
linux32 $@

Make it executable by:

chmod +x /usr/local/bin/start32

And finally create a new symlink:

ln -s /usr/lib32/gtk-2.0/2.4.0 /usr/lib32/gtk-2.0/2.10.0

Done!

To install 32bit Firefox for example, get it from here and unpack it to a folder in your home directory (or somewhere else, if you like). I have a “program” folder in my home directory for such purposes. So let’s assume 32bit Firefox resides in “~/programme/firefox”. To start it type:

start32 ~/programme/firefox/firefox

By default your new 32bit Firefox will use the same profile folder as your 64bit Debian Iceweasel (former Firefox). There should be no problem with that, as long as versions won’t differ too much. However, I’d recommend using a different profile. To assign a new profile folder to Firefox you need to create the folder first. For example this could be “~/.mozilla/firefox32/profile.32”. Start Firefox 32bit with this command:

start32 ~/programme/firefox/firefox -profile ~/.mozilla/firefox32/profile.32

You may want to write a little start script and place it in your “~/bin” directory as “firefox32”:

#!/bin/bash
cd ~/programme/firefox
start32 ./firefox -profile ~/.mozilla/firefox32/profile.32

Make it executable:

chmod +x ~/bin/firefox32

You can then place a KDE or Gnome shortcut to this script on your desktop or simply type “firefox32” to run 32bit Firefox.

Following this you may now install other 32bit apps, too. If those apps depend on qt, make sure to get the statically compiled versions of those applications. For example with Opera (and the same goes for Skype), select “Other/Static deb”, download it as “tar.gz” and follow the instructions above. Have fun!

EDIT:
For Flock and maybe other Mozilla based browsers, you may need to adjust IPv6 support when using non-Debian packaged 32bit versions. At least with Flock I couldn’t browse the web without this modification:
Type “about:config” in the browsers address bar, search for “network.dns.disableIPv6” and set it via doubleclick to “true” – that’s it!

Opera