This library is provided by the RWTH Aachen and will be downloaded from http://www.vision.rwth-aachen.de/projects/
This directory contains a cmake wrapper file that will take care of downloading, unpacking, building and installing the tar-ball. It will also create a pkg-config file to allow cmake to find it in other projects. At the moment this library is only needed to build the ground_hog package.
- NVIDIA - CUDA: Please go to: https://developer.nvidia.com/cuda-downloads to find the latest version (tested with version 10.1 under Ubuntu 16.04)
- This requires a NVIDIA graphics card
- Make sure to follow the instructions especially the part about exporting the PATH and LD_LIBRARY_PATH variables. Add these statements to your
.bashrc
.
- qmake (Qt4)
As mentioned the cmake file will take care of almost everything. Just follow these simple instructions:
- Change into the
rwth_perception_people/3rd_party
directory - Create a build directory to keep it clean:
mkdir build; cd build
- Run cmake:
cmake ..
This will install everything to /usr/local and requires sudo rights.- To install it in a custom location:
cmake .. -DCMAKE_INSTALL_PREFIX=/my/path/
- If you choose to install it in a custom location, you have to make sure that pkg-config finds it:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/my/path/lib/pkgconfig
You can add this to your .bashrc because other projects may need to find it during compile time. If you installed the library to/usr/local
, you do not have to export any paths.
- To install it in a custom location:
- Run make:
make
. This will download, unpack and build the files. - Install library and headers:
sudo make install
Omit the sudo if you chose a custom destination that does not require sudo rights.
- If you are on a 32bit system, you will get an error when linking the library:
/usr/bin/ld: cannot find -lcudart
. To get rid of this you have to:- Edit the
build/libcudaHOG/src/libcudaHOG/cudaHOG/cudaHOG.pro
file. Note: you have to run make before doing so because this will download and unzip the tarball. Otherwise you do not have that file. - Find the line that says:
LIBS += -lcudart -L/usr/local/cuda/lib64
and change it to:LIBS += -lcudart -L/usr/local/cuda/lib
. - Now run
make
again.
- Edit the
-
If there is an error "undefined reference to 'QString::fromAscii_helper" while running "make", edit "build/libcudaHOG/src/libcudaHOG/cudaHOG.pro" and remove the lines with the "cudaHOGDetect" and "cudaHOGDump" subdirs! (NOTE: This is now automatically patched by CMakeLists.txt).
-
If there is an error "/usr/bin/ld: cannot find -lboost_program_options-mt", please make sure you have "libboost_program_options*." in your "/usr/lib" directory (use command
locate libboost_program_options
). If you have not yet installed Boost, you can try commandsudo apt-get install libboost_program_options-dev
. Else if you have "libboost_program_options.*", change 'boost_program_options-mt' to 'boost_program_options' in your Makefile and other files (use commandgrep 'boost_program_options-mt' -nr
in the build dir to find these files) (NOTE: This is now automatically done through the script fix_boost_dependency.sh, which is executed as part of CMakeLists.txt.) -
If there is an error "nvcc fatal : Value 'sm_11' is not defined for option 'gpu-architecture'", please make sure the CUDA SDK has been installed and use the command
nvcc --help|grep "Allowed values for this option" -n
to see which gpu architecture is supported (eg. 'compute_20' or 'sm_20'), and change 'sm_11' to others in the files (use commandgrep 'sm_11' -nr
in the build dir to find these files) (NOTE: CMakeLists.txt will now automatically apply a patch to change this to sm_30 in order to avoid this error.) -
In case of CUDA Error 999 when launching sample applications from the CUDA SDK, this might be a permissions problem! Try if the samples work when run via sudo. In that case, a dirty workaround is to call one of the applications (e.g. deviceQueryDrv) once in an /etc/init/ script at login-session-start.