From Documentation
< User:Ppomorsk
Revision as of 17:41, 25 February 2014 by Ppomorsk (Talk | contribs) (Preliminaries)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Page with provisional install instructions.

Installing latest PCL on monk

Preliminaries

Make sure this is set for everything that follows:

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

The last line makes my cmake install the default. This is needed because the default system cmake is not recent enough.

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 "XnCppWrapper.h" PATHS "$ENV{OPENNI_INCLUDE_DIR}" "/usr/include/ni" "/usr/include/openni" DOC "OpenNI c++ interface header")
   find_library(OPENNI_LIBRARY "OpenNI" PATHS "$ENV{OPENNI_LIB_DIR}"  "/usr/lib" DOC "OpenNI library")
endif()

Define variables (these will be needed by PCL as well):

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):

mkdir build
cd build
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

git clone https://github.com/PointCloudLibrary/pcl pcl-trunk 
cd pcl-trunk 


Modify: cmake/Modules/FindOpenNI.cmake


#add a hint so that it can find it without the pkg-config
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}" "$ENV{OPEN_NI_INSTALL_PATH${OPENNI_SUFFIX}}/Include"
         PATH_SUFFIXES openni include Include)
#add a hint so that it can find it without the pkg-config
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}" "$ENV{OPEN_NI_LIB${OPENNI_SUFFIX}}"
            PATH_SUFFIXES lib Lib Lib64)
mkdir build && cd build 


cmake -DBUILD_CUDA=ON -DBUILD_GPU=ON -DBoost_INCLUDE_DIR=/home/ppomorsk/software_installs/boost/gcc/1.51.0/installdir/include   -DCMAKE_BUILD_TYPE=Release ..
make