Better Adobe AIR Beta 2 Package for Ubuntu 64-bit Jaunty
UPDATE: Package for AIR 2.5.0. Remember you still need to follow the instructions below and your mileage may vary !!!
We ran into a number of issues with installing Adobe AIR Beta 2 on our hosting infrastructure for myBalsamiq.com last week, so I wanted to share a trick I found that made the process a lot smoother and that hopefully is not too big of a hack while we wait for real 64-bit debian packages from Adobe.
So first of all a note of warning, the debian package that you can download here does not constitute a way to install a 64-bit package for Adobe AIR! Adobe has announced an official 64-bit distribution but at least as concerns beta 2, we are still talking about using workarounds to get a 32-bit AIR to run on a 64-bit distribution through downloading and installing the appropriate 32-bit dependencies.
Our use case for installing Adobe AIR on some of our servers is a simple feature that was missing from previous myBalsamiq beta releases. What happens is that when you upload a BMML file to a myBalsamiq project we call Balsamiq Mockups Desktop through the command line interface and produce a PNG of the uploaded mockup using the export command. This allows us to create a new myBalsamiq Mockup page for the upload complete with a mockup image without having to launch the Mockups editor first.
Now Adobe has a very detailed procedure that is important to get acquainted with to install Adobe AIR 2 on 64-bit Ubuntu 9.04 because you still have to go through it, at least up to the step where it asks you to run AdobeAirInstaller.bin (which didn't work for us at all). Actually, I found there was no need to extract libs from the two debs (steps 4 & 5) as everything was setup right by the ia32_libs package. I also did have to run an extra getlibs to grab libxstl1.1 as follows
sudo getlibs -l libxslt.so.1
Now once the official deb package installed, because of a current bug in apt referenced here on Launchpad and here on the debian bug tracker, installing an AIR app through the AIR App Installer would work, but would create a broken package for the app rendering apt unusable for further installations.
So... now for the big hack which allowed us to both install Adobe AIR using a deb package and not break apt. What I did was use the following steps to extract, amend, and repackage the official Adobe AIR deb package to produce a patched version that lies to apt by saying its a 64-bit package!
First I extracted the deb package contents and debian meta-data into a folder:
dpkg-deb -x adobeair-184.108.40.20670.deb adobeair-220.127.116.1170balsamiq1 dpkg-deb -e adobeair-18.104.22.16870.deb adobeair-22.214.171.12470balsamiq1/DEBIAN
Then I updated the DEBIAN/control file switching the i386 architecture to amd64 and the version to 126.96.36.19970balsamiq1.
I then rebuilt the package using:
dpkg -b adobeair-188.8.131.5270balsamiq1
Here's a trace of installing it on one of our machines where you can see that aptitude picks up the presence of the adobe air package (which won't work if you use the official one)
luis@mockupshq:~$ sudo dpkg -i adobeair-184.108.40.20670balsamiq1.deb Selecting previously deselected package adobeair. (Reading database ... 63964 files and directories currently installed.) Unpacking adobeair (from adobeair-220.127.116.1170balsamiq1.deb) ... Running 32-bit AIR on 64-bit systems has not been fully tested. However, 32-bit AIR is expected to run on 64-bit systems if they have the required 32-bit libraries and packages installed. The following links describe how to install or update AIR 2.0 on 64-bit versions of Ubuntu 9.04, Fedora 11 and OpenSuse 11.1. Installing Adobe AIR 2.0 on 64-bit Linux visit http://kb2.adobe.com/cps/521/cpsid_52132.html Updating to Adobe AIR 2.0 on 64-bit Linux visit http://kb2.adobe.com/cps/521/cpsid_52132.html Setting up adobeair (18.104.22.16870balsamiq1) ... luis@mockupshq:~$ aptitude show adobeair Package: adobeair New: yes State: installed Automatically installed: no Version: 22.214.171.12470balsamiq1 Priority: extra Section: Development Maintainer: Adobe Systems, Incorporated Uncompressed Size: 44.9M Depends: libgtk2.0-0 (>= 2.4), libxslt1.1, libxml2 PreDepends: lzma Conflicts: adobeair1.0 Description: Adobe AIR
Now remember, your mileage with our deb is not guaranteed (although I actually also use this package on my laptop which is running karmic 64-bit)! So please don't get angry if something terrible happens with your installation, but I do encourage you to post your experience with it in the comments here, especially if something bad happens so that others may avoid going through your misery.
Oh and if you're interested in our myBalsamiq webapp, then definitely check out Peldi's awesome sneak peak screencast on the company blog.