strasdat / ScaViSLAM

This is a general and scalable framework for visual SLAM. It employs "Double Window Optimization" (DWO).
GNU Lesser General Public License v3.0
335 stars 133 forks source link

ScaViSLAM errors from pangolin path changes #21

Closed franksvision closed 12 years ago

franksvision commented 12 years ago

Hello,

The first time I tried to compile ScaViSLAM I received the following errors from "frame_grabber.hpp" 25:31 pangolin/fireware.h: No such file or directory. /home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/scavislam/frame_grabber.hpp:25:31: error: pangolin/firewire.h: No such file or directory

The firewire.h now lives under pangolin/video/fireware.h. I corrected the path in the frame_grabber.hpp with pangolin/video/fireware.h and it introduced the following output errors.

/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/scavislam/create_dictionary.cpp: In function ‘std::list<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > preprocessFiles(const boost::filesystem::path&)’: /home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/scavislam/create_dictionary.cpp:48: error: ‘boost::filesystem3’ has not been declared /home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/scavislam/create_dictionary.cpp:48: error: expected ‘;’ before ‘name’ /home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/scavislam/create_dictionary.cpp:49: error: ‘name’ was not declared in this scope cc1plus: warnings being treated as errors At global scope: cc1plus: error: unrecognized command line option "-Wno-unused-but-set-variable" make[2]: * [CMakeFiles/create_dictionary.dir/scavislam/create_dictionary.cpp.o] Error 1 make[2]: Leaving directory `/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' make[1]: * [CMakeFiles/create_dictionary.dir/all] Error 2 make[1]: *\ Waiting for unfinished jobs...

/usr/bin/cmake -E cmake_link_script CMakeFiles/stereo_slam.dir/link.txt --verbose=1 /usr/bin/c++ -O3 -g CMakeFiles/stereo_slam.dir/scavislam/stereo_slam.cpp.o -o stereo_slam -rdynamic libScaViSLAM.so -lGL ../EXTERNAL/Pangolin/svs_build/pangolin/libpangolin.so -lglut ../EXTERNAL/g2o/lib/libg2o_stuff.so ../EXTERNAL/g2o/lib/libg2o_core.so ../EXTERNAL/g2o/lib/libg2o_solver_csparse.so ../EXTERNAL/VisionTools/svs_build/libVisionTools.so ../EXTERNAL/Sophus/svs_build/libSophus.so -lboost_system -lboost_thread -lboost_filesystem -lboost_regex ../EXTERNAL/opencv2/svs_build/lib/libopencv_core.so ../EXTERNAL/opencv2/svs_build/lib/libopencv_features2d.so ../EXTERNAL/opencv2/svs_build/lib/libopencv_flann.so ../EXTERNAL/opencv2/svs_build/lib/libopencv_gpu.so ../EXTERNAL/opencv2/svs_build/lib/libopencv_nonfree.so ../EXTERNAL/opencv2/svs_build/lib/libopencv_highgui.so ../EXTERNAL/opencv2/svs_build/lib/libopencv_imgproc.so ../EXTERNAL/opencv2/svs_build/lib/libopencv_calib3d.so /usr/local/cuda/lib64/libcudart.so -lcuda -Wl,-rpath,/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build:/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/svs_build/pangolin:/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/g2o/lib:/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/VisionTools/svs_build:/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Sophus/svs_build:/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/opencv2/svs_build/lib:/usr/local/cuda/lib64 ../EXTERNAL/Pangolin/svs_build/pangolin/libpangolin.so: undefined reference to xnForceShutdown' ../EXTERNAL/Pangolin/svs_build/pangolin/libpangolin.so: undefined reference toxnContextRegisterForShutdown' ../EXTERNAL/Pangolin/svs_build/pangolin/libpangolin.so: undefined reference to xnContextAddRef' ../EXTERNAL/Pangolin/svs_build/pangolin/libpangolin.so: undefined reference toxnContextUnregisterFromShutdown' ../EXTERNAL/Pangolin/svs_build/pangolin/libpangolin.so: undefined reference to xnContextRelease' ../EXTERNAL/Pangolin/svs_build/pangolin/libpangolin.so: undefined reference toxnGetRefContextFromNodeHandle' collect2: ld returned 1 exit status make[2]: * [stereo_slam] Error 1 make[2]: Leaving directory `/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' make[1]: * [CMakeFiles/stereo_slam.dir/all] Error 2 make[1]: Leaving directory`/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' make: *\ [all] Error 2

Thanks,

Frank

franksvision commented 12 years ago

Hello Hauke,

I forgot to mention, I'm using Boost Libraries 1.40 under Ubuntu 10.04 LTS. Is there a later version i should use?

I resolved the "undefined reference" errors to the xn* calls. I forgot to install the openni and the sensor drivers.

Thanks,

Frank

franksvision commented 12 years ago

Thanks for making update to the frame_grabber.hpp <pangolin/video.h>

I see in the Boost libraries version history boost::filesystem3 was added as of version 1.46. http://www.boost.org/doc/libs/1_46_0/libs/filesystem/v3/doc/index.htm#Change-history

I will try to make the 1.46 update.

franksvision commented 12 years ago

Closing issue.. Boost 1.46 upgrade resolved all boost::filesystem3 errors. frame_grabber.hpp resolved