miércoles, 26 de septiembre de 2012

Instalando openkinect en Fedora

Aunque actualmente existe un excelente SDK para Kinect no podremos utilizarlo en nuestro SO favorito, aka Linux. A continuación os dejo paso por paso todos los pasos para poder utilizar libfreenect en Fedora:

En primer lugar debemos instalar libusb

$yum install libusb1*

Y después todo esto aunque la mayoría espero que ya lo tengáis:

$yum install git cmake gcc gcc-c++ libXi libXi-devel libXmu libXmu-devel freeglut freeglut-devel

Después descargamos el código desde el repositorio GIT con en el directorio actual (así que os recomiendo crear un directorio para el proyecto)

$ git clone git://github.com/OpenKinect/libfreenect.git
 

Y ahora queda configurar la compilación:

 
$ cd libfreenect
$ mkdir build
$ cd build
$ ccmake ..

Una vez ejecutado el editor ccmake presionar c para configurar.
Debereis comprobar que la variable LIBUSB_1_INCLUDE_DIR es /usr/include/libusb-1.0  aunque deberia estar bien por defecto.
Pulsar intro para terminar.
Pulsar c para seguir la configuración.
Si todo esta bien hay que pulsar g que generara el fichero de configuración y terminara la operación.


Ahora queda construir todo e instalar:

$ cmake ..
$ make
$ sudo make install

Y listo.

Para probar si todo funciona podemos conectar nuestro kinect al puerto USB (recordar que tiene que ser un puerto 2.0 (si yo he estado un par de horas tratando de hacer que funcione en un USB 3.0)) e ir a la carpeta build y ejecutar el programa de ejemplo:

$ bin/glview

Ahora ya podemos empezar a utilizar la librería. Para ello solo tenemos que anadir la carpeta inlclude de la libreria que deberia estar por defecto en /usr/local/include/libfreenect/ y anadir al proyecto la libreria  freenect que deberia estar en /usr/local/lib64 (si usais una version de 64 bits de fedora).

Si al compilar os da un error parecido a "error while loading shared libraries: libfreenect.so.0.1: cannot open shared object file: No such file or directory" si vuestro sistema es de 32 bits debeis anadir el directorio a la path de librerias del sistema con:

$export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

o si contáis con Fedora de 64 bits:

$export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64

Para más información: