Tags: Adobe, AIR, linux, TweetDeck
The installation seems to work fine on 32-bit Linux, but does not work at all on 64-bit Linux.
Here’s how to get Adobe Air installed on your machine, and then from there, get the applications to be installable via Firefox and the CLI, and have Adobe Air update itself to current, as needed… all on 64-bit Linux (Ubuntu in my case).
- Install the 32-bit library support on your 64-bit Linux system:
$ sudo apt-get install ia32-libs lib32nss-mdns
- Get Adobe Air from the Adobe Air website
$ md5sum AdobeAIRInstaller.bin 11dad520f88373590aeefebc831d8c1e AdobeAIRInstaller.bin
- Make sure to set the installer to executable, as it is a self-installer
$ chmod +x AdobeAIRInstaller.bin
$ readelf -d AdobeAIRInstaller.bin Dynamic section at offset 0xd00044 contains 24 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libpthread.so.0] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x0000000f (RPATH) Library rpath: [/opt/Adobe AIR/Versions/1.0/Resources] 0x0000000c (INIT) 0x8048a88 0x0000000d (FINI) 0x8d47de4 0x00000004 (HASH) 0x8048148 0x00000005 (STRTAB) 0x8048644 0x00000006 (SYMTAB) 0x80482c4 0x0000000a (STRSZ) 524 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000015 (DEBUG) 0x0 0x00000003 (PLTGOT) 0x8d4813c 0x00000002 (PLTRELSZ) 304 (bytes) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x8048958 0x00000011 (REL) 0x8048940 0x00000012 (RELSZ) 24 (bytes) 0x00000013 (RELENT) 8 (bytes) 0x6ffffffb (FLAGS_1) Flags: ORIGIN 0x6ffffffe (VERNEED) 0x80488c0 0x6fffffff (VERNEEDNUM) 3 0x6ffffff0 (VERSYM) 0x8048850 0x00000000 (NULL) 0x0
- Install it (as root, so it goes into /opt and /usr/bin, as it needs to)
$ sudo ./AdobeAIRInstaller.bin
- Now that Adobe Air is installed, let’s install a simple Air application to test it (twhirl or twibble will do fine, I’m using twhirl here because it is small and fast)
$ wget -c http://d.seesmic.com/twhirl/twhirl-0.9.2.air
$ md5sum twhirl-0.9.2.air 856601084c99b74108beba8b9f629e21 twhirl-0.9.2.air
- Run the Adobe Air installer and install twhirl onto your system
$ Adobe\ AIR\ Application\ Installer /tmp/twhirl-0.9.2.air Gtk-Message: Failed to load module "canberra-gtk-module": /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so: wrong ELF class: ELFCLASS64
The message above about “canberra-gtk-module” is an artifact of GTK itself, not being built with 32-bit support for that lib. That’s unrelated to Adobe Air or the installation. To get around that, just add
$GTK_PATHenvironment variable as follows:
GTK_PATH=/usr/lib32/gtk-2.0 Adobe\ AIR\ Application\ Installer twhirl-0.9.2.air
Now the installer should launch, and present you with a GUI that looks like this the following:
I like to keep my installation paths clean, so I put the applications in
/opt/Adobe Applications/on my system. You can choose wherever you wish to install the Air apps.
For the curious, this is how I have my Adobe applications laid out on my Linux machines; nice and clean:
. |-- Adobe AIR | `-- Versions |-- Adobe Applications | |-- TweetDeck | `-- twhirl `-- Adobe SDK |-- AIR SDK Readme.txt |-- SDK license.pdf |-- bin |-- frameworks |-- lib |-- runtimes |-- samples `-- templates
Follow the installation through to the end. It should proceed and complete cleanly.
- Now that you’ve got Twhirl installed, let’s go ahead and run it!
$ cd /opt/Adobe Applications/twhirl/bin
Now twhirl should launch and look like this:
Now that we know twhirl and Adobe Air apps work natively, let’s get TweetDeck working. It’s not quite as easy… but still straightforward.
- The first major blocker I ran into was that gnome-keyring wasn’t supported by the 32-bit libraries in
/usr/lib32, and would report an error of:
libgnome-keyring.so: cannot open shared object file: No such file or directory
I had gnome-keyring installed, but its libraries were the 64-bit versions, not the 32-bit compatibility versions that TweetDeck and Adobe Air were looking for. I found a lot of hacky solutions and workarounds, none of which were clean enough to put onto my system, so I tried one of my own; installing ONLY the 32-bit gnome-keyring libs into
$ wget http://archive.ubuntu.com/ubuntu/pool/main/g/gnome-keyring/libgnome-keyring0_2.26.1-0ubuntu1_i386.deb
$ dpkg-deb -x libgnome-keyring0_2.26.1-0ubuntu1_i386.deb libgnome-keyring0_2.26.1-0ubuntu1_i386
$ sudo cp libgnome-keyring0_2.26.1-0ubuntu1_i386/usr/lib/* /usr/lib32
- If you click on the “Download” button on a website offering Air applications in Firefox, it should natively launch the Adobe Air Installer, no work needed on your part to trigger it:
- If you click “Open” in the dialog, it will launch the installer, and present you with the same steps you followed to get twhirl installed above. If you click “Save”, it will save the .air file to disk, where you can launch the installer against it as we did in Step 6 above. Choose whichever one suits your needs.
- Now that we have installed TweetDeck in exactly the same way we did twhirl, we can successfully run it natively on Linux: