[oe] [meta-oe][PATCH] opencv: Fix build with gcc 6.0

Khem Raj raj.khem at gmail.com
Fri Aug 5 16:44:41 UTC 2016


> On Aug 5, 2016, at 9:38 AM, Ricardo Ribalda Delgado <ricardo.ribalda at gmail.com> wrote:
> 
> It seems like gcc 6.0 does not have the same behaviour as previous 5.x
> with regards isystem flag.
> 
> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda at gmail.com>
> ---
> .../recipes-support/opencv/opencv/fixgcc60.patch   | 30 ++++++++++++++++++++++
> meta-oe/recipes-support/opencv/opencv_3.1.bb       |  4 +--
> 2 files changed, 31 insertions(+), 3 deletions(-)
> create mode 100644 meta-oe/recipes-support/opencv/opencv/fixgcc60.patch
> 
> diff --git a/meta-oe/recipes-support/opencv/opencv/fixgcc60.patch b/meta-oe/recipes-support/opencv/opencv/fixgcc60.patch
> new file mode 100644
> index 000000000000..5d0bf97cab63
> --- /dev/null
> +++ b/meta-oe/recipes-support/opencv/opencv/fixgcc60.patch
> @@ -0,0 +1,30 @@
> +diff --git a/cmake/OpenCVPCHSupport.cmake b/cmake/OpenCVPCHSupport.cmake
> +index 28ccc1c6be4f..b0e1cbf77287 100644
> +--- a/cmake/OpenCVPCHSupport.cmake
> ++++ b/cmake/OpenCVPCHSupport.cmake
> +@@ -19,7 +19,7 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
> +         ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
> +         OUTPUT_VARIABLE gcc_compiler_version)
> +     #MESSAGE("GCC Version: ${gcc_compiler_version}")
> +-    IF(gcc_compiler_version VERSION_GREATER "4.2.-1")
> ++    IF(gcc_compiler_version VERSION_GREATER "4.2.-1" AND gcc_compiler_version VERSION_LESS "6.0.0")
> +         SET(PCHSupport_FOUND TRUE)
> +     ENDIF()
> +
> +diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake
> +index 3a23cd73633d..1fea1578b1d9 100644
> +--- a/cmake/OpenCVUtils.cmake
> ++++ b/cmake/OpenCVUtils.cmake
> +@@ -76,7 +76,11 @@ function(ocv_include_directories)
> +     if("${__abs_dir}" MATCHES "^${OpenCV_SOURCE_DIR}" OR "${__abs_dir}" MATCHES "^${OpenCV_BINARY_DIR}")
> +       list(APPEND __add_before "${dir}")
> +     else()
> +-      include_directories(AFTER SYSTEM "${dir}")
> ++	    if (gcc_compiler_version VERSION_LESS "6.0.0")
> ++		    include_directories(AFTER SYSTEM "${dir}")
> ++	    else()
> ++		    include_directories(AFTER "${dir}")
> ++	    endif()

I would rather prefer to see if need for -isystem can be completely removed.

> +     endif()
> +   endforeach()
> +   include_directories(BEFORE ${__add_before})
> diff --git a/meta-oe/recipes-support/opencv/opencv_3.1.bb b/meta-oe/recipes-support/opencv/opencv_3.1.bb
> index c41baec7bba8..8ab9a2b4e071 100644
> --- a/meta-oe/recipes-support/opencv/opencv_3.1.bb
> +++ b/meta-oe/recipes-support/opencv/opencv_3.1.bb
> @@ -22,6 +22,7 @@ SRC_URI = "git://github.com/Itseez/opencv.git;name=opencv \
>             git://github.com/Itseez/opencv_contrib.git;destsuffix=contrib;name=contrib \
>             git://github.com/Itseez/opencv_3rdparty.git;branch=ippicv/master_20151201;destsuffix=party3;name=party3 \
>             file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
> +            file://fixgcc60.patch \
>             file://fixpkgconfig.patch"
> 
> PV = "3.1+git${SRCPV}"
> @@ -145,6 +146,3 @@ do_install_append() {
>     install -d ${D}${datadir}/OpenCV/samples/bin/
>     cp -f bin/*-tutorial-* bin/*-example-* ${D}${datadir}/OpenCV/samples/bin/
> }
> -
> -# http://errors.yoctoproject.org/Errors/Details/68617/
> -PNBLACKLIST[opencv] ?= "BROKEN: fails to build with gcc-6"
> --
> 2.8.1
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20160805/f3198479/attachment-0002.sig>


More information about the Openembedded-devel mailing list