From Documentation
< User:Ppomorsk
Revision as of 17:35, 19 February 2014 by Ppomorsk (Talk | contribs) (Installation of OpenNI)

Jump to: navigation, search

Page with provisional install instructions.

Installing latest PCL on monk

Preliminaries

module unload intel
module unload mkl
module unload openmpi
module load gcc/4.8.1
export PATH=/home/ppomorsk/software_installs/cmake/2.8.12/gcc/installdir/bin:$PATH

Installation of OpenNI

mkdir ~/kinect
cd ~/kinect
git clone https://github.com/OpenNI/OpenNI.git

And change the branch to unstable:

cd OpenNI
git checkout unstable

Run these lines to install OpenNI

cd Platform/Linux/CreateRedist/
chmod +x RedistMaker
  • comment out doc generation in Redist_OpenNi.py as it seems to cause segfault (#execute_check("doxygen Doxyfile > "+ SCRIPT_DIR + "/Output/EngineDoxy.txt", "Creating Documentation") )
./RedistMaker
cd ../Redist/OpenNI-Bin-Dev-Linux-x64-v1.5.8.5/
mkdir -p /scratch/$USER/t21801/openni/usr/lib
mkdir -p /scratch/$USER/t21801/openni/usr/bin
./install.sh  -c /scratch/$USER/t21801/openni

OpenCV

OpenCV

first, must fix oversight in cmake files

vi cmake/OpenCVFindOpenNI.cmake
elseif(UNIX OR APPLE)
   find_file(OPENNI_INCLUDES NAMES "XnCppWrapper.h" PATHS "$ENV{OPENNI_INCLUDE_DIR}"  DOC "OpenNI c++ interface header")
   find_library(OPENNI_LIBRARY NAMES "OpenNI" PATHS "$ENV{OPENNI_LIB_DIR}"   DOC "OpenNI library")
endif()


export OPENNI_INCLUDE_DIR=/scratch/ppomorsk/t21801/openni/usr/include/ni
export OPENNI_LIB_DIR=/scratch/ppomorsk/t21801/openni/usr/lib


cmake options (QT turned off to avoid compile errors):

cmake -DWITH_XINE=ON -DWITH_OPENGL=ON -DWITH_TBB=ON -DBUILD_EXAMPLES=ON -DWITH_QT=ON -DBUILD_JPEG=ON -DBUILD_PNG=ON 
-DBUILD_TIFF=ON -DBUILD_opencv_gpu=ON -DWITH_CUDA=ON -DWITH_OPENNI=ON -DWITH_QT=OFF -DCUDA_GENERATION=Fermi 
-DCMAKE_INSTALL_PREFIX=/scratch/ppomorsk/t21801/usr/local ..

PCL

Modify: cmake/Modules/FindOpenNI.cmake

find_path(OPENNI_INCLUDE_DIR XnStatus.h
         HINTS ${PC_OPENNI_INCLUDEDIR} ${PC_OPENNI_INCLUDE_DIRS} /usr/include/openni /usr/include/ni "${OPENNI_ROOT}" "$ENV{OPENNI_ROOT}"
         PATHS "$ENV{OPENNI_INCLUDE_DIR}"
         PATH_SUFFIXES openni include Include)
find_library(OPENNI_LIBRARY
            NAMES OpenNI${OPENNI_SUFFIX}
            HINTS ${PC_OPENNI_LIBDIR} ${PC_OPENNI_LIBRARY_DIRS} /usr/lib "${OPENNI_ROOT}" "$ENV{OPENNI_ROOT}"
            PATHS "$ENV{OPENNI_LIB_DIR}"
            PATH_SUFFIXES lib Lib Lib64)