[Buildroot] [git commit] package/opencv: fix build due to gcc bug 68485

Thomas Petazzoni thomas.petazzoni at bootlin.com
Thu Jun 20 19:50:58 UTC 2019


commit: https://git.buildroot.net/buildroot/commit/?id=5d05e8213579c4684429dd451b111b6047ab2cc1
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

With Microblaze Gcc version <= 9.x the build fails due to gcc bug 68485:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485. The bug show up when
building opencv with optimization but not when building with -O0. To
work around this, if BR2_TOOLCHAIN_HAS_GCC_BUG_68458=y, we force using
-O0.

Fixes:
 - http://autobuild.buildroot.org/results/17fff0f312ebd520ba3341976ba56fd8c85ee376

Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
Reviewed-by: Giulio Benetti <giulio.benetti at micronovasrl.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
---
 package/opencv/opencv.mk | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk
index ccc2d820da..4c15075fe0 100644
--- a/package/opencv/opencv.mk
+++ b/package/opencv/opencv.mk
@@ -10,6 +10,7 @@ OPENCV_INSTALL_STAGING = YES
 OPENCV_LICENSE = BSD-3-Clause
 OPENCV_LICENSE_FILES = LICENSE
 OPENCV_SUPPORTS_IN_SOURCE_BUILD = NO
+OPENCV_CXXFLAGS = $(TARGET_CXXFLAGS)
 
 # OpenCV component options
 OPENCV_CONF_OPTS += \
@@ -166,6 +167,10 @@ OPENCV_CONF_OPTS += \
 
 OPENCV_DEPENDENCIES += zlib
 
+ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y)
+OPENCV_CXXFLAGS += -O0
+endif
+
 ifeq ($(BR2_PACKAGE_OPENCV_WITH_FFMPEG),y)
 OPENCV_CONF_OPTS += -DWITH_FFMPEG=ON
 OPENCV_DEPENDENCIES += ffmpeg bzip2
@@ -195,8 +200,8 @@ OPENCV_CONF_OPTS += -DWITH_GTK=OFF
 endif
 
 ifeq ($(BR2_PACKAGE_OPENCV_WITH_JASPER),y)
-OPENCV_CONF_OPTS += -DWITH_JASPER=ON \
-	-DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -D__STDC_LIMIT_MACROS"
+OPENCV_CONF_OPTS += -DWITH_JASPER=ON
+OPENCV_CXXFLAGS += -D__STDC_LIMIT_MACROS
 OPENCV_DEPENDENCIES += jasper
 else
 OPENCV_CONF_OPTS += -DWITH_JASPER=OFF
@@ -232,6 +237,8 @@ else
 OPENCV_CONF_OPTS += -DWITH_V4L=OFF -DWITH_LIBV4L=OFF
 endif
 
+OPENCV_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(OPENCV_CXXFLAGS)"
+
 # Installation hooks:
 define OPENCV_CLEAN_INSTALL_DOC
 	$(RM) -fr $(TARGET_DIR)/usr/share/OpenCV/doc


More information about the buildroot mailing list