pcl fails to complete
I am trying to follow the directions carefully. When runnning .\install.sh in step 8 it just quietly stops after displaying 'configuring pcl' the log file for pcl looks like this:
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Using CPU native flags for SSE optimization: -march=native
-- Performing Test HAVE_MM_MALLOC
-- Performing Test HAVE_MM_MALLOC - Success
-- Performing Test HAVE_POSIX_MEMALIGN
-- Performing Test HAVE_POSIX_MEMALIGN - Success
-- Performing Test HAVE_SSE4_2_EXTENSIONS
-- Performing Test HAVE_SSE4_2_EXTENSIONS - Failed
-- Performing Test HAVE_SSE4_1_EXTENSIONS
-- Performing Test HAVE_SSE4_1_EXTENSIONS - Success
-- Performing Test HAVE_SSE3_EXTENSIONS
-- Performing Test HAVE_SSE3_EXTENSIONS - Success
-- Performing Test HAVE_SSE2_EXTENSIONS
-- Performing Test HAVE_SSE2_EXTENSIONS - Success
-- Performing Test HAVE_SSE_EXTENSIONS
-- Performing Test HAVE_SSE_EXTENSIONS - Success
-- -- GCC > 4.3 found, enabling -Wabi
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
-- Found OpenMP
CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1202 (message):
Unable to find the requested Boost libraries.
Boost version: 1.46.1
Boost include path: /usr/include
Detected version of Boost is too old. Requested version was 1.47 (or
newer).
The following Boost libraries could not be found:
boost_system
boost_filesystem
boost_thread
boost_date_time
boost_iostreams
boost_chrono
No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the
directory containing Boost libraries or BOOST_ROOT to the location of
Boost.
Call Stack (most recent call first):
cmake/pcl_find_boost.cmake:34 (find_package)
CMakeLists.txt:239 (include)
-- checking for module 'eigen3'
-- found eigen3, version 3.0.5
-- Found Eigen: /usr/include/eigen3
-- Eigen found (include: /usr/include/eigen3, version: 3.0.5)
-- checking for module 'flann>=1.7.0'
-- found flann, version 1.7.1
-- Found FLANN: /usr/lib/libflann_cpp.so (Required is at least version "1.7.0")
-- FLANN found (include: /usr/include, lib: optimized;/usr/lib/libflann_cpp.so;debug;/usr/lib/libflann_cpp.so)
-- checking for module 'metslib'
-- package 'metslib' not found
-- Found ZLIB: /usr/lib/i386-linux-gnu/libz.so (found version "1.2.3.4")
-- Found PNG: /usr/lib/i386-linux-gnu/libpng.so
-- Found Qhull: /usr/lib/libqhull.so
-- QHULL found (include: /usr/include/qhull, lib: optimized;/usr/lib/libqhull.so;debug;/usr/lib/libqhull.so)
-- VTK_MAJOR_VERSION 5
-- Could NOT find QVTK (missing: QVTK_LIBRARY)
-- VTK found (include: /usr/include/vtk-5.8, lib: /usr/lib/)
-- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/i386-linux-gnu/libX11.so
-- DOXYGEN_FOUND
-- HTML_HELP_COMPILER
-- Found CPack generators: DEB
-- The following subsystems will be built:
-- The following subsystems will not be built:
-- common: Requires external library boost.
-- geometry: Disabled manually.
-- octree: Requires common.
-- io: Requires octree.
-- kdtree: Requires common.
-- search: Requires octree.
-- sample_consensus: Disabled manually.
-- filters: Disabled manually.
-- features: Disabled manually.
-- segmentation: Disabled manually.
-- visualization: Disabled manually.
-- surface: Requires octree.
-- registration: Disabled manually.
-- keypoints: Disabled manually.
-- tracking: Disabled manually.
-- recognition: Disabled manually.
-- apps: OpenNI was not found.
-- outofcore: Disabled manually.
-- examples: Code examples are disabled by default.
-- people: Disabled manually.
-- global_tests: No reason
-- tools: Disabled manually.
-- Configuring incomplete, errors occurred!
Editing install.sh to install libboost1.48-all-dev instead of libboost-all-dev gets me past previous error, but then building fails with this:
vagrant@precise32:/vagrant_data/OpenDroneMap/logs$ more pcl_2_build.log
Scanning dependencies of target pcl_common
[ 1%] Building CXX object common/CMakeFiles/pcl_common.dir/src/point_types.cpp.o
[ 2%] Building CXX object common/CMakeFiles/pcl_common.dir/src/pcl_base.cpp.o
[ 4%] Building CXX object common/CMakeFiles/pcl_common.dir/src/io.cpp.o
[ 5%] Building CXX object common/CMakeFiles/pcl_common.dir/src/common.cpp.o
[ 6%] Building CXX object common/CMakeFiles/pcl_common.dir/src/correspondence.cpp.o
[ 8%] Building CXX object common/CMakeFiles/pcl_common.dir/src/distances.cpp.o
[ 9%] Building CXX object common/CMakeFiles/pcl_common.dir/src/parse.cpp.o
[ 11%] Building CXX object common/CMakeFiles/pcl_common.dir/src/poses_from_matches.cpp.o
[ 12%] Building CXX object common/CMakeFiles/pcl_common.dir/src/print.cpp.o
[ 13%] Building CXX object common/CMakeFiles/pcl_common.dir/src/projection_matrix.cpp.o
[ 15%] Building CXX object common/CMakeFiles/pcl_common.dir/src/time_trigger.cpp.o
[ 16%] Building CXX object common/CMakeFiles/pcl_common.dir/src/gaussian.cpp.o
[ 18%] Building CXX object common/CMakeFiles/pcl_common.dir/src/bearing_angle_image.cpp.o
[ 19%] Building CXX object common/CMakeFiles/pcl_common.dir/src/range_image.cpp.o
[ 20%] Building CXX object common/CMakeFiles/pcl_common.dir/src/range_image_planar.cpp.o
[ 22%] Building C object common/CMakeFiles/pcl_common.dir/src/fft/kiss_fft.c.o
[ 23%] Building C object common/CMakeFiles/pcl_common.dir/src/fft/kiss_fftr.c.o
Linking CXX shared library ../lib/libpcl_common.so
CMake Error: cmake_symlink_library: System Error: Protocol error
CMake Error: cmake_symlink_library: System Error: Protocol error
make[2]: *** [lib/libpcl_common.so.1.7.2] Error 1
make[1]: *** [common/CMakeFiles/pcl_common.dir/all] Error 2
make: *** [all] Error 2
google searching suggests maybe it is because there is a shared file system that doesn't support symlinks? Like a shared virtualbox folder for example.
That goes beyond my virtualbox vagrant knowledge to fix, any advice would be appreciated.
I see the vm is recognized by the vb manager software. I just went in and unshared the two folder that were shared and am re-running install.sh to see if it goes past this error now. I'll let you know.
Edit: This doesn't seem possible, it has to have shared folders as far as I can see.
Ah, revise so that ODM is moved to and installs from an unshared folder (but keep the existing shared folders shared), and add that to your pull request for the README changes (https://github.com/bgirardot/odm_vagrant/blob/bgirardot-steps-suggestion/README.md).
The issue appears to be the use of symlinks in the latest ODM revisions which NTFS doesn't support.
Ah, revise so that ODM is moved to and installs from an unshared folder (but keep the existing shared folders shared)
I am working on this, but new to vagrant so it is taking a bit longer than usual :)
No worries. Let me know if you need any help.
Oh I appreciate the offer. I think I have it all figured out now. We just create an additional directory in the linux vm and clone the odm repo there and then run install.sh.
I am just double checking i have all the steps correct since I took 1 out (I don't think we need a vagrant_data directory in the Windows file system) and added a couple for the new directory and such.
I'll have a PR for it tomorrow after a triple check.
Cool.