public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/opencv] opencv5: Fix FTBFS with GCC 6 (#1307821)
@ 2026-08-28 13:30 
  0 siblings, 0 replies; only message in thread
From:  @ 2026-08-28 13:30 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/opencv
            Branch : opencv5
            Commit : ca7da00ea608b62859a640493a1cd6c0f5802550
            Author : Sérgio M. Basto <sergio@serjux.com>
            Date   : 2016-03-02T03:46:45+00:00
            Stats  : +74/-132 in 3 file(s)
            URL    : https://src.fedoraproject.org/rpms/opencv/c/ca7da00ea608b62859a640493a1cd6c0f5802550?branch=opencv5

            Log:
            Fix FTBFS with GCC 6 (#1307821)

Now the correct patches.

---
diff --git a/Fix-FTBFS-with-GCC-6-1307821.patch b/Fix-FTBFS-with-GCC-6-1307821.patch
deleted file mode 100644
index a2f6b36..0000000
--- a/Fix-FTBFS-with-GCC-6-1307821.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From 3a4653aeecd7804ba0064c7877e41cbeb55abb54 Mon Sep 17 00:00:00 2001
-From: Yaakov Selkowitz <yselkowi@redhat.com>
-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<h;++y) {
-+         for (int x=0;x<w;++x) {
-+             // initialize
-+-            if (&annotate_img!=NULL) {
-+-                annotate_img.at<Vec2i>(y,x)[0]=x;
-+-                annotate_img.at<Vec2i>(y,x)[1]=y;
-+-            }
-++            annotate_img.at<Vec2i>(y,x)[0]=x;
-++            annotate_img.at<Vec2i>(y,x)[1]=y;
-+ 
-+             uchar edge_val = edges_img.at<uchar>(y,x);
-+             if( (edge_val!=0) ) {
-+@@ -1013,10 +1011,8 @@ void ChamferMatcher::Matching::computeDistanceTransform(Mat& edges_img, Mat& dis
-+                 dist_img.at<float>(ny,nx) = dist;
-+                 q.push(std::make_pair(nx,ny));
-+ 
-+-                if (&annotate_img!=NULL) {
-+-                    annotate_img.at<Vec2i>(ny,nx)[0]=annotate_img.at<Vec2i>(y,x)[0];
-+-                    annotate_img.at<Vec2i>(ny,nx)[1]=annotate_img.at<Vec2i>(y,x)[1];
-+-                }
-++                annotate_img.at<Vec2i>(ny,nx)[0]=annotate_img.at<Vec2i>(y,x)[0];
-++                annotate_img.at<Vec2i>(ny,nx)[1]=annotate_img.at<Vec2i>(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<float>(y)+x;
-++    float sum_orientation = 0;
-++    int cnt_orientation = 0;
-+ 
-+-    if (&orientation_img!=NULL) {
-+-        float* optr = orientation_img.ptr<float>(y)+x;
-+-        float sum_orientation = 0;
-+-        int cnt_orientation = 0;
-++    for (size_t i=0;i<addr.size();++i) {
-+ 
-+-        for (size_t i=0;i<addr.size();++i) {
-+-
-+-            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(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 <yselkowi@redhat.com> - 2.4.12.3-3
-+- Fix FTBFS with GCC 6 (#1307821)
-+
- * Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.12.3-2
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
- 
--- 
-2.5.0
\ No newline at end of file

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<h;++y) {
+         for (int x=0;x<w;++x) {
+             // initialize
+-            if (&annotate_img!=NULL) {
+-                annotate_img.at<Vec2i>(y,x)[0]=x;
+-                annotate_img.at<Vec2i>(y,x)[1]=y;
+-            }
++            annotate_img.at<Vec2i>(y,x)[0]=x;
++            annotate_img.at<Vec2i>(y,x)[1]=y;
+ 
+             uchar edge_val = edges_img.at<uchar>(y,x);
+             if( (edge_val!=0) ) {
+@@ -1013,10 +1011,8 @@ void ChamferMatcher::Matching::computeDistanceTransform(Mat& edges_img, Mat& dis
+                 dist_img.at<float>(ny,nx) = dist;
+                 q.push(std::make_pair(nx,ny));
+ 
+-                if (&annotate_img!=NULL) {
+-                    annotate_img.at<Vec2i>(ny,nx)[0]=annotate_img.at<Vec2i>(y,x)[0];
+-                    annotate_img.at<Vec2i>(ny,nx)[1]=annotate_img.at<Vec2i>(y,x)[1];
+-                }
++                annotate_img.at<Vec2i>(ny,nx)[0]=annotate_img.at<Vec2i>(y,x)[0];
++                annotate_img.at<Vec2i>(ny,nx)[1]=annotate_img.at<Vec2i>(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<float>(y)+x;
++    float sum_orientation = 0;
++    int cnt_orientation = 0;
+ 
+-    if (&orientation_img!=NULL) {
+-        float* optr = orientation_img.ptr<float>(y)+x;
+-        float sum_orientation = 0;
+-        int cnt_orientation = 0;
++    for (size_t i=0;i<addr.size();++i) {
+ 
+-        for (size_t i=0;i<addr.size();++i) {
+-
+-            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(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 14d76e3..e1f0e15 100644
--- a/opencv.spec
+++ b/opencv.spec
@@ -25,7 +25,7 @@ URL:            http://opencv.org
 # Removed because we don't use pre-built contribs
 # rm -rf 3rdparty
 # cd ..; tar Jcf opencv-clean-%%{version}.tar.xz opencv-%%{version}/
-#Source0:        https://github.com/Itseez/opencv/archive/%%{version}.tar.gz#/%%{name}-%%{version}.tar.gz
+#Source0:       https://github.com/Itseez/opencv/archive/%%{version}.tar.gz#/%%{name}-%%{version}.tar.gz
 Source0:        %{name}-clean-%{version}%{?indice}.tar.xz
 Source1:        opencv-samples-Makefile
 #http://code.opencv.org/issues/2720
@@ -37,7 +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
-Patch6:         Fix-FTBFS-with-GCC-6-1307821.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
@@ -274,8 +276,8 @@ popd
 %{python2_sitearch}/cv2.so
 
 %changelog
-* Wed Mar 02 2016 Sérgio Basto <sergio@serjux.com> - 2.4.12.3-3
-- Fix FTBFS with GCC 6 (#1307821), patch made by Yaakov Selkowitz.
+* Tue Mar 01 2016 Yaakov Selkowitz <yselkowi@redhat.com> - 2.4.12.3-3
+- Fix FTBFS with GCC 6 (#1307821)
 
 * Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.12.3-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-28 13:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-28 13:30 [rpms/opencv] opencv5: Fix FTBFS with GCC 6 (#1307821) 

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox