Saturday, November 1, 2008

Google Chrome 64 bit - Finally

Ubuntu/Debian Instructions

To start with, the package ia32-libs contains binaries needed to run 32-bit software in /usr/lib32. But there is no accompanying ia32-libs-dev package. You can work around it by:

Installing the 64-bit -dev package to get the headers.
Setting up ia32-libs symlinks in /usr/lib32 to make the linker happy.
Manually installing some 32-bit libraries as well.
For the second step, a recipe like the following (as root) does the trick:

cd /usr/lib32
for lib in gdk-x11-2.0 atk-1.0 gdk_pixbuf-2.0 \
pangocairo-1.0 pango-1.0 pangoft2-1.0 \
gobject-2.0 gmodule-2.0 glib-2.0 gtk-x11-2.0; do
ln -s -f lib$lib.so.0 lib$lib.so
done
ln -s -f libcairo.so.2 libcairo.so
ln -s -f libfreetype.so.6 libfreetype.so
ln -s -f libz.so.1 libz.so
ln -s -f libfontconfig.so.1 libfontconfig.so
Now, we need to manually install some 32-bit libraries that Ubuntu doesn't have packaged. I put them into /usr/local/lib32, and then told ldconfig to look there for more libraries, so that my manually installed ones wouldn't get mixed up with the package installed ones in /lib32 and /usr/lib32.

mkdir /usr/local/lib32
echo "/usr/local/lib32" > /etc/ld.so.conf.d/local-32.conf
For each of the following libraries, you need to:

download the i386 package from packages.ubuntu.com.
unpack the package to get at the contained library files (I usually just use 7zip).
move the files that the package would put in /usr/lib into /usr/local/lib32
create symlinks to the libraries' base names.
The libraries you need are libnss3-1d, libnspr4-0d, and. As an example, to set up libsnpr4, you would:

7z x libnspr4*deb
tar -xzvf data.tar.gz
sudo mv usr/lib/* /usr/local/lib32/
cd /usr/local/lib32
sudo ln -s libnspr4.so.0d libnspr4.so
sudo ln -s libplc4.so.0d libplc4.so
sudo ln -s libplds4.so.0d libplds4.so
sudo ldconfig

http://code.google.com/p/chromium/wiki/LinuxBuild64Bit

No comments: