-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cleanup of package manifests and build scripts #62
Cleanup of package manifests and build scripts #62
Conversation
Builds fine on my side apart from warnings /home/victor/catkin_ws/src/industrial_calibration/industrial_extrinsic_cal/src/ros_camera_observer.cpp: In member function ‘virtual int industrial_extrinsic_cal::ROSCameraObserver::getObservations(industrial_extrinsic_cal::CameraObservations&)’:
/home/victor/catkin_ws/src/industrial_calibration/industrial_extrinsic_cal/src/ros_camera_observer.cpp:467:1150: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 8 has type ‘std::vector<cv::KeyPoint>::size_type {aka long unsigned int}’ [-Wformat=]
ROS_ERROR("Red keypoints: %u",keypoints.size());
/home/victor/catkin_ws/src/industrial_calibration/industrial_extrinsic_cal/src/ros_camera_observer.cpp:477:1152: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 8 has type ‘std::vector<cv::KeyPoint>::size_type {aka long unsigned int}’ [-Wformat=]
ROS_ERROR("Green keypoints: %u",keypoints.size());
/home/victor/catkin_ws/src/industrial_calibration/industrial_extrinsic_cal/src/ros_camera_observer.cpp:485:1151: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 8 has type ‘std::vector<cv::KeyPoint>::size_type {aka long unsigned int}’ [-Wformat=]
ROS_ERROR("Blue keypoints: %u",keypoints.size());
/home/victor/catkin_ws/src/industrial_calibration/rgbd_depth_correction/src/depth_calibration.cpp: In member function ‘bool DepthCalibrator::calibrateCameraDepth(std_srvs::Empty::Request&, std_srvs::Empty::Response&)’:
/home/victor/catkin_ws/src/industrial_calibration/rgbd_depth_correction/src/depth_calibration.cpp:126:219: warning: format ‘%d’ expects argument of type ‘int’, but argument 8 has type ‘std::vector<pcl::PointXYZ, Eigen::aligned_allocator_indirection<pcl::PointXYZ> >::size_type {aka long unsigned int}’ [-Wformat=]
ROS_ERROR("Point cloud pixel depth correction cloud size (%d) not the same size as saved cloud size (%d). Aborting depth calibration.",
^
/home/victor/catkin_ws/src/industrial_calibration/rgbd_depth_correction/src/depth_calibration.cpp:126:219: warning: format ‘%d’ expects argument of type ‘int’, but argument 9 has type ‘std::vector<pcl::PointXYZ, Eigen::aligned_allocator_indirection<pcl::PointXYZ> >::size_type {aka long unsigned int}’ [-Wformat=]
/home/victor/catkin_ws/src/industrial_calibration/rgbd_depth_correction/src/depth_calibration.cpp: In member function ‘bool DepthCalibrator::calibrateCameraPixelDepth(std_srvs::Empty::Request&, std_srvs::Empty::Response&)’:
/home/victor/catkin_ws/src/industrial_calibration/rgbd_depth_correction/src/depth_calibration.cpp:211:1183: warning: format ‘%d’ expects argument of type ‘int’, but argument 8 has type ‘std::vector<pcl::PointCloud<pcl::PointXYZ>, Eigen::aligned_allocator_indirection<pcl::PointCloud<pcl::PointXYZ> > >::size_type {aka long unsigned int}’ [-Wformat=]
ROS_INFO("Got point cloud %d of %d", (temp_clouds.size() + 1), num_point_clouds_ );
|
Thanks. Yes, those warnings are what I referred to with the last bullet under Remaining issues / questions. |
# DEPENDENCIES | ||
# std_msgs # Or other packages containing msgs | ||
# ) | ||
find_package(catkin REQUIRED COMPONENTS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In case I forget to thank you for all this, Thank you very much. I don't have a good handle on CMakeList syntax.
|
Cleanup of package manifests and build scripts
@drchrislewis: no problem, I had some time to kill. As to the the bullets about install targets,
If |
Major changes:
find_package(..)
usage for Ceres, Boost, OpenCV (now requires OpenCV v2)catkin_package(..)
statements (proper(CATKIN_)DEPENDS
etc)industrial_extrinsic_cal
) conditional, based onCATKIN_ENABLE_TESTING
With the above changes
catkin_lint -W2
errors / warnings are down from 120+ to something like 15 (most of which are about target names being not unique enough).Tested building on both 32 and 64 bit Ubuntu Trusty - Indigo systems, with
catkin_make
andcatkin_tools
.Remaining issues / questions:
libceres-dev
, see below)rgbd_depth_correction
: launch files reference unreleased pkgs (bolles_calibration
,depth_calibration
)industrial_extrinsic_cal
:robot_trigger.action
not inadd_action_files
(but could be on purpose)industrial_extrinsic_cal
:nist_cal
pkg?industrial_extrinsic_cal
:aravis_camera_driver
pkg doesn't exist?camera_aravis
you're using (there are many forks!)set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-fPIC")
(and variants) everywhere. They are probably needed, but I couldn't easily determine why, and fi inindustrial_extrinsic_cal
the line simply overwroteCMAKE_CXX_FLAGS
instead of appending to it. Just remove the hash to uncomment them again.libceres-dev
on Indigo and up (packaged by Vincent Rabaud (or Michael Ferguson) (rosdep
here))? Or is that not recent enough (everything compiled ok on my machine)? Maybe specify version infind_package(..)
? It would greatly simplify the installation of the packages (and make distribution through the buildfarm possible) (Missing dependency declaration on (lib)ceres #32)target_locator
,intrinsic_cal
: launch files reference unreleased pkg (ind_cal_multi_camera
)run_depend
on (almost) everything used in the launch files (camara_aravis
,rviz
, etc). You might want to check what makes sense, prune the restlibspqr.so
-> missing symlink when installed only bylibspqr1.3.1
,ok when
libsuitesparse-dev
is installed (or maybe make symlink?). Not sure whether this is only on 32 or 64 bit machines (this is probably a known issue withlibceres-dev
)%d
not being appropriate forsize_type
operand (inrgbd_depth_correction
)PS: PR is a bit large, but I didn't think it would make sense to split everything up per-package. It's probably easiest to just try out building locally and see whether everything still works.
PPS: you'll probably want to check the install rules, as I've made it install just about everything there is in these packages, which may not be what you want.
PPPS: there are certainly things I overlooked / didn't touch. This project has some sizeable source & header files and I haven't checked them all to see whether usages of external entities were correctly declared everywhere (
#include <..>
as well as in manifests and build scripts). Might be worth it to audit files one-by-one and see whether they are ok.