Updating Shotwell to 18.1.1 on #! (Debian Unstable) Linux From Source

Posting this here to save someone else the headache I had, because I really like Shotwell, and bog knows that writing up instructions like this has saved my bacon when I later forgot…

I like Shotwell to organize my photos on Linux. It does enough for me automatically to make it easy to manage files, and the built-in “publish” button makes it pretty easy to quickly post images to Facebook and Flickr for friends and family. I like the tagging function and the automatic event creation from EXIF date data. Even if it’s GTK3 now. 🙁

Shotwell recently updated to 18.1.1 in order to comply with Flickr’s HTTPS-only (yay) requirement. Prior versions just fail when it comes to uploading to Flickr, and that’s a problem. But just snagging the deb package doesn’t work, so I had to build from the tarball.

This was less easy than expected. First, the dependency list is pretty damn large to build the thing (see it below).

Secondly, the webpage fails to mention a dependency package or three.

Third, it doesn’t install the same way as it does from Debian’s sources (of course), so removing the prebuilt package first was necessary.

And finally (though not Shotwell’s fault) checkinstall decided to be a pain in the posterior (if you have problems with checkinstall making subdirectories, check out this solution.) If you don’t know what checkinstall is and you use synaptic or apt-get, check it out.

A note of caution:  While the list below looks huge, if you’re building any modern GUI software from source, you’ve probably got half of this already on your system, and

Anyway, best as I can reconstruct from my package history and the websites, here’s the real dependency list for Shotwell 18.1.1:

libgee-0.8-dev
libgexiv2-dev
libglib2.0-dev
libglib2-dev
girl1.2-glib-2.0
libgstreamer1.0-dev
libgstreamer-plugins-base1.0-dev
libgtk-3-dev
libwebkitgtk-3.0-dev
libwebkit2gtk-3.0-dev
libwebkitgtk-common-dev
libunique-3.0-dev
libgudev-1.0-dev
libexif-dev
libgphoto2-dev
libgphoto2-2-dev
libraw-dev
librest-dev
libsoup2.4-dev:amd64
libxml++2.6-dev
m4
sqlite3
libvala-0.24-0
valac-0.24
valac-0.24-vapi
desktop-file-utils
gnome-doc-utils

So to recap what I did:

sudo apt-get remove shotwell

Install and/or upgrade your dependencies:

sudo apt-get install libgee-0.8-dev libgexiv2-dev libglib2.0-dev libglib2-dev girl1.2-glib-2.0 libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk-3-dev libwebkitgtk-3.0-dev libwebkit2gtk-3.0-dev libwebkitgtk-common-dev libunique-3.0-dev libgudev-1.0-dev libexif-dev libgphoto2-dev libgphoto2-2-dev libraw-dev librest-dev libsoup2.4-dev:amd64 libxml++2.6-dev m4 sqlite3 libvala-0.24-0 valac-0.24 valac-0.24-vapi desktop-file-utils gnome-doc-utils

Then change to the directory you want to build in, and…

wget https://download.gnome.org/sources/shotwell/0.18/shotwell-0.18.1.tar.xz
tar xvfJ shotwell-0.18.1.tar.xz
cd shotwell-0.18.1

Then you can do the standard dance:

./configure
make

and then use make install or checkinstall to get up and running.

Hope that helps!