
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!




oct 11, 2010 @ 23:51:29
i’ve got this error, could you please help me with this problem please
/usr/bin/ld: cannot find -lcubicles
collect2: ld returned 1 exit status
make: *** [../lib/libhandvu.la] Error 1
jul 25, 2011 @ 17:18:36
Could you tell me what is wrong with this?:
steve07@steve07-desktop:~/handvu-beta3$ make
make all-recursive
make[1]: se ingresa al directorio «/home/steve07/handvu-beta3»
Making all in cubicles
make[2]: se ingresa al directorio «/home/steve07/handvu-beta3/cubicles»
if /bin/bash ../libtool –tag=CXX –mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include/opencv -I/usr/local/include -DTARGET_SYSTEM=\”i686-pc-linux-gnu\” -DIMG_LIB_OPENCV -DII_TYPE_FLOAT -O3 -MT IntegralFeatures.lo -MD -MP -MF “.deps/IntegralFeatures.Tpo” -c -o IntegralFeatures.lo IntegralFeatures.cpp; \
then mv -f “.deps/IntegralFeatures.Tpo” “.deps/IntegralFeatures.Plo”; else rm -f “.deps/IntegralFeatures.Tpo”; exit 1; fi
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include/opencv -I/usr/local/include -DTARGET_SYSTEM=\”i686-pc-linux-gnu\” -DIMG_LIB_OPENCV -DII_TYPE_FLOAT -O3 -MT IntegralFeatures.lo -MD -MP -MF .deps/IntegralFeatures.Tpo -c IntegralFeatures.cpp -fPIC -DPIC -o .libs/IntegralFeatures.o
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include/opencv -I/usr/local/include -DTARGET_SYSTEM=\”i686-pc-linux-gnu\” -DIMG_LIB_OPENCV -DII_TYPE_FLOAT -O3 -MT IntegralFeatures.lo -MD -MP -MF .deps/IntegralFeatures.Tpo -c IntegralFeatures.cpp -o IntegralFeatures.o >/dev/null 2>&1
if /bin/bash ../libtool –tag=CXX –mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include/opencv -I/usr/local/include -DTARGET_SYSTEM=\”i686-pc-linux-gnu\” -DIMG_LIB_OPENCV -DII_TYPE_FLOAT -O3 -MT IntegralFeaturesSame.lo -MD -MP -MF “.deps/IntegralFeaturesSame.Tpo” -c -o IntegralFeaturesSame.lo IntegralFeaturesSame.cpp; \
then mv -f “.deps/IntegralFeaturesSame.Tpo” “.deps/IntegralFeaturesSame.Plo”; else rm -f “.deps/IntegralFeaturesSame.Tpo”; exit 1; fi
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include/opencv -I/usr/local/include -DTARGET_SYSTEM=\”i686-pc-linux-gnu\” -DIMG_LIB_OPENCV -DII_TYPE_FLOAT -O3 -MT IntegralFeaturesSame.lo -MD -MP -MF .deps/IntegralFeaturesSame.Tpo -c IntegralFeaturesSame.cpp -fPIC -DPIC -o .libs/IntegralFeaturesSame.o
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include/opencv -I/usr/local/include -DTARGET_SYSTEM=\”i686-pc-linux-gnu\” -DIMG_LIB_OPENCV -DII_TYPE_FLOAT -O3 -MT IntegralFeaturesSame.lo -MD -MP -MF .deps/IntegralFeaturesSame.Tpo -c IntegralFeaturesSame.cpp -o IntegralFeaturesSame.o >/dev/null 2>&1
if /bin/bash ../libtool –tag=CXX –mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include/opencv -I/usr/local/include -DTARGET_SYSTEM=\”i686-pc-linux-gnu\” -DIMG_LIB_OPENCV -DII_TYPE_FLOAT -O3 -MT Classifiers.lo -MD -MP -MF “.deps/Classifiers.Tpo” -c -o Classifiers.lo Classifiers.cpp; \
then mv -f “.deps/Classifiers.Tpo” “.deps/Classifiers.Plo”; else rm -f “.deps/Classifiers.Tpo”; exit 1; fi
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include/opencv -I/usr/local/include -DTARGET_SYSTEM=\”i686-pc-linux-gnu\” -DIMG_LIB_OPENCV -DII_TYPE_FLOAT -O3 -MT Classifiers.lo -MD -MP -MF .deps/Classifiers.Tpo -c Classifiers.cpp -fPIC -DPIC -o .libs/Classifiers.o
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include/opencv -I/usr/local/include -DTARGET_SYSTEM=\”i686-pc-linux-gnu\” -DIMG_LIB_OPENCV -DII_TYPE_FLOAT -O3 -MT Classifiers.lo -MD -MP -MF .deps/Classifiers.Tpo -c Classifiers.cpp -o Classifiers.o >/dev/null 2>&1
yacc -d CascadeFileParser.yy
/bin/bash: yacc: orden no encontrada
make[2]: *** [CascadeFileParser.cc] Error 127
make[2]: se sale del directorio «/home/steve07/handvu-beta3/cubicles»
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio «/home/steve07/handvu-beta3»
make: *** [all] Error 2
I await your response. Thank you.