jueves, enero 17, 2013

Instalar gphoto2 2.5 en raspberry pi

EDITO:
Como esto es bastante más largo de lo que pensaba antes de empezar la entrada he creado un pequeño script que realiza todos los pasos automáticamente. Está disponible en https://github.com/gonzalo/gphoto2-updater 

Una de mis proyectos con RPI tiene que ver con la cámara DSLR Olympus E-520 que tengo. Para poder controlarla desde el ordenador podemos usar el software gphoto2. Lamentablemente la versión disponible en debian y, por extensión, en Raspbian es algo antigua la 2.4.14. Así que para poder ponerme al día he tenido que compilar e instalar la nueva versión.

Te recomiendo desinstalar gphoto2 si lo has hecho para evitar confusiones.

sudo apt-get remove gphoto2

Para empezar he bajado el código fuente desde la página del proyecto y descomprimido.

wget http://downloads.sourceforge.net/project/gphoto/libgphoto/2.5.0/libgphoto2-2.5.0.tar.bz2?r=&ts=1358269367&use_mirror=freefr

(tendras que renombrar el archivo porque wget le pondrá un nombre muy largo)

tar xjf libgphoto2-2.5.0.tar.bz2
cd libgphoto2-2.5.0

A partir de ahí los clásicos comandos para configurar y compilar el proyecto

./configure

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for POSIX sh $() command substitution... yes
checking for gcc... gcc

(...y mucho código más...)

Ojo a la salida de este comando que nos avisa de qué nos falta. A mi me dio un aviso de falta de las librerías libltdl y libusb. Nada que no se pueda arreglar con apt-get

$ sudo apt-get install libltdl-dev
$ sudo apt-get install libusb-dev

Lanzo de nuevo configure y compruebo los resultados...y sigue sin poder compilar. Resulta que la versión de libusb no es lo bastante reciente para él. Toca bajar del código fuente de libusb1.0, compilarlo e instalarlo (esto se empieza a parecer a las cosas que no me gustan de linux :-D)

wget http://ftp.de.debian.org/debian/pool/main/libu/libusbx/libusbx_1.0.11.orig.tar.bz2
tar xjvf libusbx_1.0.11.orig.tar.bz2
cd libusbx-1.0.11/
./configure
make
sudo make install

Ya tengo instalada la nueva libusb. Lanzo de nuevo configure y parece que todo es correcto.

./configure
make 
(zzz...zzzz....zzzz....zzzz...zzzz...zzzz....)
sudo make install

...y después de un buen rato ¡por fin! Por fin tienes instaladas las librerías, ahora toca compilar e instalar gphoto2. Antes instalamos las dependencias exigidas.

sudo apt-get install libexif-dev
sudo apt-get install libpopt-dev

Descargamos, compilamos e instalamos gphot2

wget http://downloads.sourceforge.net/project/gphoto/gphoto/2.5.0/gphoto2-2.5.0.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fgphoto%2Ffiles%2Fgphoto%2F2.5.0%2F&ts=1358271589&use_mirror=freefr

(tendras que renombrar el archivo porque wget le pondrá un nombre muy largo)

tarx zvf gphoto2-2.5.0.tar.gz
cd gphoto2-2.5.0
./configure
make
sudo make install

Y ya tengo instalado por fin gphoto2 versión 2.5. Queda un detallito tienes que ejecutar el siguiente comando para que enlace correctamente las librerías:

sudo ldconfig

Y ahora sí que sí. Gphoto2 y librerías correspondientes correctamente instaladas

$ gphoto2 --version
gphoto2 2.5.0

Copyright (c) 2000-2012 Lutz Mueller and others

gphoto2 comes with NO WARRANTY, to the extent permitted by law. You may
redistribute copies of gphoto2 under the terms of the GNU General Public
License. For more information about these matters, see the files named COPYING.

This version of gphoto2 is using the following software versions and options:
gphoto2         2.5.0          gcc, popt(m), exif, no cdk, no aa, no jpeg, no readline
libgphoto2      2.5.0          all camlibs, gcc, ltdl, no EXIF
libgphoto2_port 0.10.0         gcc, ltdl, USB, serial without locking




2 comentarios:

  1. Te felicito por la guía. Me ha sido muy útil y me ha ahorrado mucho tiempo.

    ResponderEliminar
  2. Enhorabuena por la ayuda! Tengo una Olympus 520 y no consigo dispararla con el Gphoto2. La detecta con el driver genérico de la serie 500 pero al disparar con "Sudo gphoto2 --trigger-capture" me dice que la cámara está ocupada. He actualizado su firmware y nada. ¿Sabes porqué puede ser? Gracias por anticipado:

    ResponderEliminar