~ 3 min read

Installing gPhoto on Snow Leopard

I always seem to choose the difficult route to do things. Having become equipped with a new canon camera, I’m instantly wanting to capture stop motion shorts with it. Unfortunately canons proprietry capture software isn’t really up to the job and FrameByFrame doesn’t work with such high-end cameras.

So, I got to thinking wether there was any other route? I was aware of the gPhoto commandline interface and libgphoto pointed out by a colleague some time ago, so I thought I’d see what I might be able to do with it.

It is possible to install gPhoto using macports, but I chose to compile from source. Here’s how to do it if anyone else is interested.

Install libusb

./configure
make
sudo make install

Install libusb compat

./configure LIBUSB_1_0_CFLAGS=-I/usr/local/include/libusb-1.0 LIBUSB_1_0_LIBS="-L/usr/local/lib -lusb-1.0"
make
sudo make install

Install libexif

./configure
make
sudo make install

Install <a href=http://www-rocq.inria.fr/~gilbert/modulopt/libopt/libopt.tgz”>libopt

./configure
make
sudo make install

Install libgphoto2 (it may not be neccessary to restrict to a subset of drivers as I have done here, but on my macbook it wouldn’t compile unless I did so.)

./configure --with-drivers=canon
make
sudo make install

Install readline

./configure
make
sudo make install

Install gphoto

./configure
make
sudo make install

You now should be able to capture, download, setup timelapses all from your terminal. See the full list of examples on the gphoto homepage.

In my own experiments, I’ve found I’ve mad to kill the PTP software that is initially fired up by the mac in order for gphoto to be able to communicate over usb. It also seems that any files I capture are not written to the memory card (or listed using the –list-files argument), meaning I need to use the –capture-image-and-download argument to capture direct to my machine. I’ve not had much time to experiment yet, so there may be another workaround.

Anyway, its not a stop motion app yet, but it’s a start!