tum-vision / dvo_slam

Dense Visual Odometry and SLAM
632 stars 306 forks source link

where can I find the PoseStampedArray.h? #10

Open ltl315 opened 10 years ago

ltl315 commented 10 years ago

where can I find the PoseStampedArray.h?

when I rosmake dvo_benchmark, I got the following errors:

/home/leon/ros/dvo_slam/dvo_slam/include/dvo_slam/serialization/map_serializer.h:27:82: fatal error: dvo_slam/PoseStampedArray.h: No such file or directory

include

^ compilation terminated. make[3]: * [CMakeFiles/benchmark.dir/src/benchmark_slam.o] Error 1 make[3]: Leaving directory /home/leon/ros/dvo_slam/dvo_benchmark/build' make[2]: * [CMakeFiles/benchmark.dir/all] Error 2 make[2]: Leaving directory/home/leon/ros/dvo_slam/dvo_benchmark/build' make[1]: *\ [all] Error 2 make[1]: Leaving directory `/home/leon/ros/dvo_slam/dvo_benchmark/build' -------------------------------------------------------------------------------} [ rosmake ] Output from build of package dvo_benchmark written to: [ rosmake ] /home/leon/.ros/rosmake/rosmake_output-20140410-183907/dvo_benchmark/build_output.log

[rosmake-7] Finished <<< dvo_benchmark [FAIL] [ 6.58 seconds ]

[ rosmake ] Halting due to failure in package dvo_benchmark. [ rosmake ] Waiting for other threads to complete.

[ rosmake ] Results:

[ rosmake ] Built 43 packages with 1 failures.

[ rosmake ] Summary output to directory

Thanks a lot in advance.

christiankerl commented 10 years ago

It's a message defined in the dvo_slam package. Did ROS generate the message files? They should be in dvo_slam/msg_gen/cpp/include. Maybe you have to build dvo_slam twice.

ltl315 commented 10 years ago

Thanks for your reply. I have made several tries to build dvo_slam again, but I cannot find the mentioned subdirectory "dvo_slam/msg_gen/". There only exists a file 'PoseStampedArray.msg' in dvo_slam/dvo_slam/msg, without the subdirectory 'msg_gen'. However, I cannot search and find any head file 'PoseStampedArray.h' in the downloaded packages you published. How should I go forward?

christiankerl commented 10 years ago

PoseStampedArray.h is created by ROS during message generation. message generation should be enabled by rosbuild_genmsg() in the dvo_slam/CMakeLists.txt. so you have to find out why ROS isn't building the message...

ltl315 commented 10 years ago

I have resolve the above problem by reload the dvo_slam package from the hithub and rebuild several times.

However, I meet an issue like #2, I follow your tips by running rosmake with --pre-clean , but it does not work: the command is "rosmake dvo_core dvo_ros dvo_slam dvo_benchmark --pre-clean"

Ubuntu 12.04 LTS ROS fuerte PCL 1.7

The following undefined references can be seen. [ rosmake ] Last 40 lineso_slam: 29.9 sec ] [ 1 Active 41/43 Complete ] {------------------------------------------------------------------------------- /home/leon/ros/dvo_slam/dvo_ros/include/dvo_ros/util/configtools.h: In function ‘void dvo_ros::util::updateConfigFromDynamicReconfigure(const dvo_ros::CameraDenseTrackerConfig&, dvo::DenseTracker::Config&)’: /home/leon/ros/dvo_slam/dvo_ros/include/dvo_ros/util/configtools.h:78:56: warning: ‘influence_function’ may be used uninitialized in this function [-Wuninitialized] /home/leon/ros/dvo_slam/dvo_ros/include/dvo_ros/util/configtools.h:76:51: warning: ‘scale_estimator’ may be used uninitialized in this function [-Wuninitialized] [ 90%] Building CXX object CMakeFiles/dvo_slam.dir/src/visualization/graph_visualizer.o [ 95%] Building CXX object CMakeFiles/dvo_slam.dir/src/types.o /home/leon/ros/dvo_slam/dvo_slam/src/visualization/graph_visualizer.cpp: In member function ‘void dvo_slam::visualization::internal::GraphVisualizerImpl::onEdgeDeleteClick(const FeedbackConstPtr&)’: /home/leon/ros/dvo_slam/dvo_slam/src/visualization/graph_visualizer.cpp:154:28: warning: unused variable ‘edge’ [-Wunused-variable] /home/leon/ros/dvo_slam/dvo_ros/include/dvo_ros/util/util.h: At global scope: /home/leon/ros/dvo_slam/dvo_ros/include/dvo_ros/util/util.h:51:13: warning: ‘void dvo_ros::util::tryGetTransform(Eigen::Affine3d&, tf::TransformListener&, std::string, std::string, double)’ defined but not used [-Wunused-function] Linking CXX shared library ../lib/libdvo_slam.so make[3]: Leaving directory /home/leon/ros/dvo_slam/dvo_slam/build' [ 95%] Built target dvo_slam make[3]: Entering directory/home/leon/ros/dvo_slam/dvo_slam/build' Scanning dependencies of target camera_keyframe_tracker make[3]: Leaving directory /home/leon/ros/dvo_slam/dvo_slam/build' make[3]: Entering directory/home/leon/ros/dvo_slam/dvo_slam/build' [100%] Building CXX object CMakeFiles/camera_keyframe_tracker.dir/src/camera_keyframe_tracker_node.o Linking CXX executable ../bin/camera_keyframe_tracker ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_sfree' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_schol' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_amd' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_free' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_calloc' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_pinv' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_symperm' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_etree' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_post' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_counts' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_spfree' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_malloc' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_cumsum' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_nfree' collect2: ld returned 1 exit status make[3]: * [../bin/camera_keyframe_tracker] Error 1 make[3]: Leaving directory /home/leon/ros/dvo_slam/dvo_slam/build' make[2]: * [CMakeFiles/camera_keyframe_tracker.dir/all] Error 2 make[2]: Leaving directory/home/leon/ros/dvo_slam/dvo_slam/build' make[1]: *\ [all] Error 2 make[1]: Leaving directory `/home/leon/ros/dvo_slam/dvo_slam/build' -------------------------------------------------------------------------------} [ rosmake ] Output from build of package dvo_slam written to: [ rosmake ] /home/leon/.ros/rosmake/rosmake_output-20140516-101333/dvo_slam/build_output.log

[rosmake-1] Finished <<< dvo_slam [FAIL] [ 29.90 seconds ]

[ rosmake ] Halting due to failure in package dvo_slam. [ rosmake ] Waiting for other threads to complete.

[ rosmake ] Results:

[ rosmake ] Cleaned 43 packages.

[ rosmake ] Built 42 packages with 1 failures.

[ rosmake ] Summary output to directory

[ rosmake ] /home/leon/.ros/rosmake/rosmake_output-20140516-101333

Thanks in advance! Tianliang

ziyangli commented 10 years ago

I encounter the same error.

{------------------------------------------------------------------------------- ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::concurrent_queue_base_v3::internal_pop_ifpresent(void)' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::concurrent_queue_base_v3::internal_empty() const' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::concurrent_queue_base_v3::internal_finish_clear()' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::concurrent_queue_base_v3::~concurrent_queue_base_v3()' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::thread_get_id_v3()' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::concurrent_vector_base_v3::internalclear(void ()(void_, unsigned long))' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::concurrent_vector_base_v3::~concurrent_vector_base_v3()' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::concurrent_vector_base_v3::internal_capacity() const' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::concurrent_queue_base_v3::internalpush(void const)' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::tbb_thread_v3::join()' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::tbb_thread_v3::detach()' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::concurrent_queue_base_v3::concurrent_queue_base_v3(unsigned long)' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::allocate_closure_v3(unsigned long)' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::tbb_thread_v3::internalstart(void* ()(void), void)' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::handleperror(int, char const)' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::thread_sleep_v3(tbb::tick_count::interval_t const&)' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::internal::concurrent_queue_base_v3::internalpop(void)' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_schol' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_amd' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_free' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_calloc' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_pinv' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_symperm' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_etree' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_post' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_counts' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_spfree' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_malloc' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_cumsum' ../lib/libdvo_slam.so: error: undefined reference to 'cs_di_nfree' ../lib/libdvo_slam.so: error: undefined reference to 'typeinfo for tbb::internal::concurrent_queue_base_v3' ../lib/libdvo_slam.so: error: undefined reference to 'tbb::interface5::internal::taskbase::destroy(tbb::task&)' collect2: ld returned 1 exit status make[3]: ** [../bin/camera_keyframe_tracker] Error 1

christiankerl commented 10 years ago

do you have libsuitesparse installed? once you have, you have to rebuild g2o (it generates an additional library if it detects libsuitesparse).

@ziyangli you seem to additionally miss intel threading building blocks

ziyangli commented 10 years ago

I modified the CMakeList a little bit and it works. So maybe it is a mistake of the original CMakeList?

SET(G2O_LIBS g2o_core g2o_csparse_extension g2o_solver_dense g2o_solver_csparse g2o_stuff g2o_types_slam3d)

target_link_libraries(${PROJECT_NAME} cxsparse ${G2O_LIBS} tbb vtkRendering)