HandVu

On this tutorial we will cover the compilation from sources of HandVu beta 3 and its compilation and installation on Ubuntu 10.04 LTS (Lucid Lynx).

1. Download the package

$ wget http://www.movesinstitute.org/~kolsch/HandVu/handvu-beta3.tar.gz

2. Uncompress the package

$ gunzip -c handvu-beta3.tar.gz | tar xopf -

3. Enter the directory

$ cd handvu-beta3

4. Configure for make

$ ./configure

5. Make

If we execute make command some errors will appear. These errors could be:


error: 'ULONG_LONG_MAX' was not declared in this scope
error: 'INT_MAX' was not declared in this scope

error: 'alloca' was not declared in this scope
error: 'strlen' was not declared in this scope
error: 'strcpy' was not declared in this scope
error: 'strtok' was not declared in this scope
error: 'strrchr' was not declared in this scope

error: 'atof' was not declared in this scope

error: 'memset' was not declared in this scope

So let’s add some lines of code

to cubicles/IntegralFeatures.cpp

#include <alloca.h>
#include <limits.h>

to cubicles/IntegralFeaturesSame.cpp

#include <alloca.h>

to cubicles/CascadeFileParser.yy

#include <string.h>

to cubicles/Scanner.h

#include <limits.h>

to cubicles/IntegralImage.cxx

#include <string.h>

to handvu/Mask.cpp

#include <alloca.h>
#include <stdlib.h>
#include <string.h>

to handvu/FileHandling.cpp

#include <string.h>

on this last file we also need to change a pair of lines, otherwise the following error will appear:


error: invalid conversion from 'const char*' to 'char*'

on handvu/FileHandling.cpp change from this:

char* slashpos = strrchr(path, '/');
char* dotpos = strrchr(path, '.');

to this:

const char* slashpos = strrchr(path, '/');
const char* dotpos = strrchr(path, '.');

Now we can execute make

$ make

6. Intall

$ sudo make install

We are done!

Blessings!