image-pipeline: patch twice to compile with gcc6 (#392)
This commit is contained in:
parent
116083cc17
commit
855eebca0b
|
@ -0,0 +1,138 @@
|
|||
From 6c2d65452bd5fe62723988a1a570789921900d59 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
|
||||
Date: Fri, 30 Sep 2016 15:39:47 +0200
|
||||
Subject: [PATCH 1/2] address gcc6 build error
|
||||
|
||||
With gcc6, compiling fails with `stdlib.h: No such file or directory`,
|
||||
as including '-isystem /usr/include' breaks with gcc6, cf.,
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129.
|
||||
|
||||
This commit addresses this issue for this package in the same way
|
||||
it was addressed in various other ROS packages. A list of related
|
||||
commits and pull requests is at:
|
||||
|
||||
https://github.com/ros/rosdistro/issues/12783
|
||||
|
||||
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
|
||||
|
||||
Upstream-Status: Accepted [https://github.com/ros-perception/image_pipeline/commit/6c2d65452bd5fe62723988a1a570789921900d59]
|
||||
|
||||
This patch has been generated with:
|
||||
`git format-patch -2 562332df73781c1e56ce9123542334cc1d91b143`
|
||||
in the image_pipeline repository.
|
||||
|
||||
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
|
||||
---
|
||||
depth_image_proc/CMakeLists.txt | 6 +-----
|
||||
image_proc/CMakeLists.txt | 3 +--
|
||||
image_publisher/CMakeLists.txt | 3 +--
|
||||
image_rotate/CMakeLists.txt | 5 +----
|
||||
image_view/CMakeLists.txt | 8 ++++----
|
||||
stereo_image_proc/CMakeLists.txt | 4 +---
|
||||
6 files changed, 9 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/depth_image_proc/CMakeLists.txt b/depth_image_proc/CMakeLists.txt
|
||||
index 0a7c7e2..6ceebfe 100644
|
||||
--- a/depth_image_proc/CMakeLists.txt
|
||||
+++ b/depth_image_proc/CMakeLists.txt
|
||||
@@ -10,11 +10,7 @@ catkin_package(
|
||||
find_package(Boost REQUIRED)
|
||||
find_package(Eigen REQUIRED)
|
||||
find_package(OpenCV REQUIRED)
|
||||
-include_directories(include
|
||||
- SYSTEM ${BOOST_INCLUDE_DIRS}
|
||||
- ${catkin_INCLUDE_DIRS}
|
||||
- ${EIGEN_INCLUDE_DIRS}
|
||||
-)
|
||||
+include_directories(include ${BOOST_INCLUDE_DIRS} ${catkin_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS})
|
||||
|
||||
add_library(${PROJECT_NAME} src/nodelets/convert_metric.cpp
|
||||
src/nodelets/crop_foremost.cpp
|
||||
diff --git a/image_proc/CMakeLists.txt b/image_proc/CMakeLists.txt
|
||||
index a13371f..34905f0 100755
|
||||
--- a/image_proc/CMakeLists.txt
|
||||
+++ b/image_proc/CMakeLists.txt
|
||||
@@ -17,8 +17,7 @@ catkin_package(
|
||||
LIBRARIES ${PROJECT_NAME}
|
||||
)
|
||||
|
||||
-include_directories(SYSTEM ${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS})
|
||||
-include_directories(include)
|
||||
+include_directories(include ${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS})
|
||||
|
||||
# Nodelet library
|
||||
add_library(${PROJECT_NAME} src/libimage_proc/processor.cpp
|
||||
diff --git a/image_publisher/CMakeLists.txt b/image_publisher/CMakeLists.txt
|
||||
index 8015a45..431109c 100644
|
||||
--- a/image_publisher/CMakeLists.txt
|
||||
+++ b/image_publisher/CMakeLists.txt
|
||||
@@ -8,8 +8,7 @@ generate_dynamic_reconfigure_options(cfg/ImagePublisher.cfg)
|
||||
|
||||
catkin_package()
|
||||
|
||||
-# add the executable
|
||||
-include_directories(SYSTEM ${catkin_INCLUDE_DIRS})
|
||||
+include_directories(${catkin_INCLUDE_DIRS})
|
||||
|
||||
add_library(${PROJECT_NAME} SHARED src/nodelet/image_publisher_nodelet.cpp)
|
||||
target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES})
|
||||
diff --git a/image_rotate/CMakeLists.txt b/image_rotate/CMakeLists.txt
|
||||
index 04ba03b..75d8e77 100644
|
||||
--- a/image_rotate/CMakeLists.txt
|
||||
+++ b/image_rotate/CMakeLists.txt
|
||||
@@ -12,10 +12,7 @@ find_package(OpenCV REQUIRED core imgproc)
|
||||
find_package(Eigen REQUIRED)
|
||||
|
||||
# add the executable
|
||||
-include_directories(SYSTEM ${catkin_INCLUDE_DIRS}
|
||||
- ${EIGEN_INCLUDE_DIRS}
|
||||
- ${OpenCV_INCLUDE_DIRS}
|
||||
-)
|
||||
+include_directories(${catkin_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS})
|
||||
|
||||
add_library(${PROJECT_NAME} SHARED src/nodelet/image_rotate_nodelet.cpp)
|
||||
target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${OpenCV_LIBRARIES})
|
||||
diff --git a/image_view/CMakeLists.txt b/image_view/CMakeLists.txt
|
||||
index 78b9eaa..93fabe7 100644
|
||||
--- a/image_view/CMakeLists.txt
|
||||
+++ b/image_view/CMakeLists.txt
|
||||
@@ -8,9 +8,9 @@ catkin_package(CATKIN_DEPENDS dynamic_reconfigure)
|
||||
find_package(Boost REQUIRED COMPONENTS signals thread)
|
||||
find_package(OpenCV REQUIRED)
|
||||
|
||||
-include_directories(SYSTEM ${Boost_INCLUDE_DIRS}
|
||||
- ${catkin_INCLUDE_DIRS}
|
||||
- ${OpenCV_INCLUDE_DIRS}
|
||||
+include_directories(${Boost_INCLUDE_DIRS}
|
||||
+ ${catkin_INCLUDE_DIRS}
|
||||
+ ${OpenCV_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
# Extra tools
|
||||
@@ -40,7 +40,7 @@ endif()
|
||||
|
||||
find_package(GTK2)
|
||||
add_definitions(-DHAVE_GTK)
|
||||
-include_directories(SYSTEM ${GTK2_INCLUDE_DIRS})
|
||||
+include_directories(${GTK2_INCLUDE_DIRS})
|
||||
|
||||
# Nodelet library
|
||||
add_library(image_view src/nodelets/image_nodelet.cpp src/nodelets/disparity_nodelet.cpp src/nodelets/window_thread.cpp)
|
||||
diff --git a/stereo_image_proc/CMakeLists.txt b/stereo_image_proc/CMakeLists.txt
|
||||
index b7127d2..e201436 100644
|
||||
--- a/stereo_image_proc/CMakeLists.txt
|
||||
+++ b/stereo_image_proc/CMakeLists.txt
|
||||
@@ -16,9 +16,7 @@ catkin_package(
|
||||
include_directories(include)
|
||||
|
||||
find_package(OpenCV REQUIRED)
|
||||
-include_directories(SYSTEM ${catkin_INCLUDE_DIRS}
|
||||
- ${OpenCV_INCLUDE_DIRS}
|
||||
-)
|
||||
+include_directories(${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS})
|
||||
|
||||
# Nodelet library
|
||||
add_library(${PROJECT_NAME} src/libstereo_image_proc/processor.cpp src/nodelets/disparity.cpp src/nodelets/point_cloud2.cpp)
|
||||
--
|
||||
2.5.5
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
From 562332df73781c1e56ce9123542334cc1d91b143 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
|
||||
Date: Thu, 6 Oct 2016 08:55:27 +0200
|
||||
Subject: [PATCH 2/2] explicitly cast to std::vector<double> to make gcc6 happy
|
||||
|
||||
With gcc6, compiling image_publisher fails with this error:
|
||||
```
|
||||
/[...]/image_publisher/src/nodelet/image_publisher_nodelet.cpp: In member function 'virtual void image_publisher::ImagePublisherNodelet::onInit()':
|
||||
/[...]/image_publisher/src/nodelet/image_publisher_nodelet.cpp:180:43: error: ambiguous overload for 'operator=' (operand types are 'sensor_msgs::CameraInfo_<std::allocator<void> >::_D_type {aka std::vector<double>}' and 'boost::assign_detail::generic_list<int>')
|
||||
camera_info_.D = list_of(0)(0)(0)(0)(0);
|
||||
```
|
||||
|
||||
After adding an initial explicit type cast for the assignment,
|
||||
compiling fails further with:
|
||||
```
|
||||
| /[...]/image_publisher/src/nodelet/image_publisher_nodelet.cpp: In member function 'virtual void image_publisher::ImagePublisherNodelet::onInit()':
|
||||
| /[...]/image_publisher/src/nodelet/image_publisher_nodelet.cpp:180:65: error: call of overloaded 'vector(boost::assign_detail::generic_list<int>&)' is ambiguous
|
||||
| camera_info_.D = std::vector<double> (list_of(0)(0)(0)(0)(0));
|
||||
```
|
||||
|
||||
Various sources on the internet [1, 2, 3] point to use the
|
||||
`convert_to_container` method; hence, this commit follows those
|
||||
suggestions and with that image_publisher compiles with gcc6.
|
||||
|
||||
[1] http://stackoverflow.com/questions/16211410/ambiguity-when-using-boostassignlist-of-to-construct-a-stdvector
|
||||
[2] http://stackoverflow.com/questions/12352692/ambiguous-call-with-list-of-in-vs2010/12362548#12362548
|
||||
[3] http://stackoverflow.com/questions/13285272/using-boostassignlist-of?rq=1
|
||||
|
||||
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
|
||||
|
||||
Upstream-Status: Accepted [https://github.com/ros-perception/image_pipeline/commit/562332df73781c1e56ce9123542334cc1d91b143]
|
||||
|
||||
This patch has been generated with:
|
||||
`git format-patch -2 562332df73781c1e56ce9123542334cc1d91b143`
|
||||
in the image_pipeline repository.
|
||||
|
||||
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
|
||||
---
|
||||
image_publisher/src/nodelet/image_publisher_nodelet.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/image_publisher/src/nodelet/image_publisher_nodelet.cpp b/image_publisher/src/nodelet/image_publisher_nodelet.cpp
|
||||
index 4102d0d..26e1352 100644
|
||||
--- a/image_publisher/src/nodelet/image_publisher_nodelet.cpp
|
||||
+++ b/image_publisher/src/nodelet/image_publisher_nodelet.cpp
|
||||
@@ -177,7 +177,7 @@ public:
|
||||
camera_info_.width = image_.cols;
|
||||
camera_info_.height = image_.rows;
|
||||
camera_info_.distortion_model = "plumb_bob";
|
||||
- camera_info_.D = list_of(0)(0)(0)(0)(0);
|
||||
+ camera_info_.D = list_of(0)(0)(0)(0)(0).convert_to_container<std::vector<double> >();
|
||||
camera_info_.K = list_of(1)(0)(camera_info_.width/2)(0)(1)(camera_info_.height/2)(0)(0)(1);
|
||||
camera_info_.R = list_of(1)(0)(0)(0)(1)(0)(0)(0)(1);
|
||||
camera_info_.P = list_of(1)(0)(camera_info_.width/2)(0)(0)(1)(camera_info_.height/2)(0)(0)(0)(1)(0);
|
||||
--
|
||||
2.5.5
|
||||
|
|
@ -2,6 +2,9 @@ SRC_URI = "https://github.com/ros-perception/${ROS_SPN}/archive/${PV}.tar.gz;dow
|
|||
SRC_URI[md5sum] = "d727bc9da9f7772649ab7c5c7c9f652e"
|
||||
SRC_URI[sha256sum] = "fc3073428fc930523efd6ed4a86d838ab0f0ff04a312eb4188c72a854d300e97"
|
||||
|
||||
SRC_URI += "file://0001-address-gcc6-build-error.patch;patchdir=.."
|
||||
SRC_URI += "file://0002-explicitly-cast-to-std-vector-double-to-make-gcc6-ha.patch;patchdir=.."
|
||||
|
||||
S = "${WORKDIR}/${ROS_SP}/${ROS_BPN}"
|
||||
|
||||
inherit catkin
|
||||
|
|
Loading…
Reference in New Issue