Tuesday, May 3, 2011

Getting Picasa To Work On Fedora 14 (x86_64)

My cubemate, Mike, just came back from a two week European vacation and work trip. He was showing me photos from Vienna and Brno on his laptop using Google's Picasa photo library. I also keep my photos on Picasa but use our home Windows 7 machine to do the synching just out of habit.

But after seeing his pictures I decided to install Google's Picasa Linux build on my laptop running Fedora 14 64bit.

The first issue I had was with the only version available being 32bit. I'm not sure why software companies are still pushing only 32bit versions when 64bit is available and growing in adoption. But that's another story.

So after downloading and install the Picasa RPM (available here) the software didn't start but had some errors:

(mcpierce@mcpierce-laptop:~)$ picasa
/usr/bin/picasa: line 139: 12417 Segmentation fault      (core dumped) "$PIC_BINDIR"/wrapper check_dir.exe.so
/usr/bin/picasa: line 175: 12528 Segmentation fault      (core dumped) "$PIC_BINDIR/wrapper" regedit /E $registry_export HKEY_USERS\\S-1-5-4\\Software\\Google\\Picasa\\Picasa2\\Preferences\\

So, obviously, out of the box this doesn't work. The build for Linux is actually the Windows build packaged up with Wine to run on Linux rather than a native build. So to solve the loading issues I had to dirty my nice 64bit environment by installing a series of 32bit packages and then copy some of those files over into the Picasa install location:

[root@mcpierce-laptop ~]# cp /usr/bin/wine-preloader /opt/google/picasa/3.0/wine/bin/wine-preloader
cp: overwrite `/opt/google/picasa/3.0/wine/bin/wine-preloader'? y

This fixes the segmentation faults that popped up initially and allows Picasa to actually finish loading under Wine.

The next problem is that the Wine implementation Picasa installs was unable to access the internet so that I could download my existing albums from Picasa. To fix that I had to replace the wininet.dll.so file that Picasa installed.

[root@mcpierce-laptop ~]# cp /usr/lib/wine/wininet.dll.so /opt/google/picasa/3.0/wine/lib/wine/wininet.dll.so
cp: overwrite `/opt/google/picasa/3.0/wine/lib/wine/wininet.dll.so'? y

Once that was done then Picasa was able to login as me and synch my web albums to my laptop.

So now I can keep my pictures on my Linux laptop. One less reason to have a Windows machine at home.

But, still I have one more thing to say:

HEY! GOOGLE! How about a NATIVE LINUX VERSION of Picasa? If you support free and open source software then indulge us with an open source copy of your free tool!