From 8ce3dc6e272762c761e02b9bfcbae44a07f66204 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Wed, 2 Mar 2016 02:41:35 +0000 Subject: [PATCH] add Fix-FTBFS-with-GCC-6-1307821.patch --- Fix-FTBFS-with-GCC-6-1307821.patch | 128 +++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 Fix-FTBFS-with-GCC-6-1307821.patch diff --git a/Fix-FTBFS-with-GCC-6-1307821.patch b/Fix-FTBFS-with-GCC-6-1307821.patch new file mode 100644 index 0000000..a2f6b36 --- /dev/null +++ b/Fix-FTBFS-with-GCC-6-1307821.patch @@ -0,0 +1,128 @@ +From 3a4653aeecd7804ba0064c7877e41cbeb55abb54 Mon Sep 17 00:00:00 2001 +From: Yaakov Selkowitz +Date: Tue, 1 Mar 2016 00:33:53 -0600 +Subject: [PATCH] Fix FTBFS with GCC 6 (#1307821) + +--- + opencv-2.4.12.3-gcc6.patch | 68 ++++++++++++++++++++++++++++++++++++++++++++++ + opencv.spec | 9 +++++- + 2 files changed, 76 insertions(+), 1 deletion(-) + create mode 100644 opencv-2.4.12.3-gcc6.patch + +diff --git a/opencv-2.4.12.3-gcc6.patch b/opencv-2.4.12.3-gcc6.patch +new file mode 100644 +index 0000000..71f7b5b +--- /dev/null ++++ b/opencv-2.4.12.3-gcc6.patch +@@ -0,0 +1,68 @@ ++diff --git a/modules/contrib/src/chamfermatching.cpp b/modules/contrib/src/chamfermatching.cpp ++--- a/modules/contrib/src/chamfermatching.cpp +++++ b/modules/contrib/src/chamfermatching.cpp ++@@ -966,10 +966,8 @@ void ChamferMatcher::Matching::computeDistanceTransform(Mat& edges_img, Mat& dis ++ for (int y=0;y(y,x)[0]=x; ++- annotate_img.at(y,x)[1]=y; ++- } +++ annotate_img.at(y,x)[0]=x; +++ annotate_img.at(y,x)[1]=y; ++ ++ uchar edge_val = edges_img.at(y,x); ++ if( (edge_val!=0) ) { ++@@ -1013,10 +1011,8 @@ void ChamferMatcher::Matching::computeDistanceTransform(Mat& edges_img, Mat& dis ++ dist_img.at(ny,nx) = dist; ++ q.push(std::make_pair(nx,ny)); ++ ++- if (&annotate_img!=NULL) { ++- annotate_img.at(ny,nx)[0]=annotate_img.at(y,x)[0]; ++- annotate_img.at(ny,nx)[1]=annotate_img.at(y,x)[1]; ++- } +++ annotate_img.at(ny,nx)[0]=annotate_img.at(y,x)[0]; +++ annotate_img.at(ny,nx)[1]=annotate_img.at(y,x)[1]; ++ } ++ } ++ } ++@@ -1107,26 +1103,22 @@ ChamferMatcher::Match* ChamferMatcher::Matching::localChamferDistance(Point offs ++ ++ float cost = (sum_distance/truncate_)/addr.size(); ++ +++ float* optr = orientation_img.ptr(y)+x; +++ float sum_orientation = 0; +++ int cnt_orientation = 0; ++ ++- if (&orientation_img!=NULL) { ++- float* optr = orientation_img.ptr(y)+x; ++- float sum_orientation = 0; ++- int cnt_orientation = 0; +++ for (size_t i=0;iorientations[i]>=-CV_PI && (*(optr+addr[i]))>=-CV_PI) { ++- sum_orientation += orientation_diff(tpl->orientations[i], (*(optr+addr[i]))); ++- cnt_orientation++; ++- } +++ if(addr[i] < (orientation_img.cols*orientation_img.rows) - (offset.y*orientation_img.cols + offset.x)){ +++ if (tpl->orientations[i]>=-CV_PI && (*(optr+addr[i]))>=-CV_PI) { +++ sum_orientation += orientation_diff(tpl->orientations[i], (*(optr+addr[i]))); +++ cnt_orientation++; ++ } ++ } +++ } ++ ++- if (cnt_orientation>0) { ++- cost = (float)(beta*cost+alpha*(sum_orientation/(2*CV_PI))/cnt_orientation); ++- } ++- +++ if (cnt_orientation>0) { +++ cost = (float)(beta*cost+alpha*(sum_orientation/(2*CV_PI))/cnt_orientation); ++ } ++ ++ if(cost > 0){ ++ +diff --git a/opencv.spec b/opencv.spec +index 8749958..9853d30 100644 +--- a/opencv.spec ++++ b/opencv.spec +@@ -12,7 +12,7 @@ + + Name: opencv + Version: 2.4.12.3 +-Release: 2%{?dist} ++Release: 3%{?dist} + Summary: Collection of algorithms for computer vision + Group: Development/Libraries + # This is normal three clause BSD. +@@ -37,6 +37,9 @@ Patch4: opencv-2.4.7-cmake_paths.patch + # Fix macro usage of "list_filterout" + # https://github.com/pld-linux/opencv/commit/dadee4672641272b129410bc097f5c199bb4fb43 + Patch5: opencv-2.4.11-listfilterout.patch ++# fix build with gcc6 ++# https://github.com/Itseez/opencv/commit/eebd4cad665f4f1270ca58bb13e9708e130f9b30 ++Patch6: opencv-2.4.12.3-gcc6.patch + + BuildRequires: libtool + BuildRequires: cmake >= 2.6.3 +@@ -137,6 +140,7 @@ This package contains Python bindings for the OpenCV library. + %patch3 -p1 -b .ts_static + %patch4 -p1 -b .cmake_paths + %patch5 -p1 -b .listfilterout ++%patch6 -p1 -b .gcc6 + + # fix dos end of lines + sed -i 's|\r||g' samples/c/adaptiveskindetector.cpp +@@ -272,6 +276,9 @@ popd + %{python2_sitearch}/cv2.so + + %changelog ++* Tue Mar 01 2016 Yaakov Selkowitz - 2.4.12.3-3 ++- Fix FTBFS with GCC 6 (#1307821) ++ + * Thu Feb 04 2016 Fedora Release Engineering - 2.4.12.3-2 + - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +-- +2.5.0 \ No newline at end of file