[oe] [meta-oe][PATCH v2] opencv: Add recipe for OpenCV v3.0.0-alpha.

Martin Jansa martin.jansa at gmail.com
Wed Oct 8 02:48:58 UTC 2014


On Tue, Oct 07, 2014 at 02:06:49PM +1100, Nick D'Ademo wrote:
> Includes fix which disables IPP for ARM builds.

I'm sorry, but it's causing vlc build failure:

| /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/vlc/2.1.4-r0/vlc-2.1.4/modules/video_filter/opencv_example.cpp:132:59: error: 'cvReleaseHaarClassifierCascade' was not declared in this scope
|          cvReleaseHaarClassifierCascade( &p_sys->p_cascade );
|                                                            ^
| /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/vlc/2.1.4-r0/vlc-2.1.4/modules/video_filter/opencv_example.cpp: In function 'picture_t* Filter(filter_t*, picture_t*)':
| /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/vlc/2.1.4-r0/vlc-2.1.4/modules/video_filter/opencv_example.cpp:175:45: error: 'CV_HAAR_DO_CANNY_PRUNING' was not declared in this scope
|                                              CV_HAAR_DO_CANNY_PRUNING,
|                                              ^
| /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/vlc/2.1.4-r0/vlc-2.1.4/modules/video_filter/opencv_example.cpp:176:60: error: 'cvHaarDetectObjects' was not declared in this scope
|                                              cvSize(20, 20) );
|                                                             ^
| /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/vlc/2.1.4-r0/vlc-2.1.4/modules/video_filter/opencv_example.cpp:197:58: error: 'CV_RGB' was not declared in this scope
|              cvRectangle( p_img[0], pt1, pt2, CV_RGB(0,0,0), 3, 8, 0 );
|                                                           ^
| /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/vlc/2.1.4-r0/vlc-2.1.4/modules/video_filter/opencv_example.cpp:197:69: error: 'cvRectangle' was not declared in this scope
|              cvRectangle( p_img[0], pt1, pt2, CV_RGB(0,0,0), 3, 8, 0 );
|                                                                      ^
| /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/vlc/2.1.4-r0/vlc-2.1.4/modules/video_filter/opencv_example.cpp:201:57: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
|              p_sys->event_info.p_region[i].p_description = "Face Detected";
|                                                          ^

Can you look into it as well (at least to disable opencv example while building vlc).

Thanks

> Signed-off-by: Nick D'Ademo <nickdademo at gmail.com>
> ---
>  meta-oe/recipes-support/opencv/opencv_git.bb | 96 ++++++++++++++++++++++++++++
>  1 file changed, 96 insertions(+)
>  create mode 100644 meta-oe/recipes-support/opencv/opencv_git.bb
> 
> diff --git a/meta-oe/recipes-support/opencv/opencv_git.bb b/meta-oe/recipes-support/opencv/opencv_git.bb
> new file mode 100644
> index 0000000..bf6fd84
> --- /dev/null
> +++ b/meta-oe/recipes-support/opencv/opencv_git.bb
> @@ -0,0 +1,96 @@
> +DESCRIPTION = "Opencv : The Open Computer Vision Library"
> +HOMEPAGE = "http://opencv.org/"
> +SECTION = "libs"
> +
> +LICENSE = "BSD"
> +LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14"
> +
> +ARM_INSTRUCTION_SET = "arm"
> +
> +DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0 gstreamer gst-plugins-base"
> +
> +# Commit hash for 3.0.0-alpha tag
> +SRCREV = "fb9a143429f86603ff93e5bcb2d94b94780b7234"
> +SRC_URI = "git://github.com/Itseez/opencv.git;branch=master \
> +           file://opencv-fix-pkgconfig-generation.patch \
> +"
> +
> +PV = "2.99+3.0.0-alpha+git${SRCPV}"
> +
> +S = "${WORKDIR}/git"
> +
> +# Do an out-of-tree build
> +OECMAKE_SOURCEPATH = "${S}"
> +OECMAKE_BUILDPATH = "${WORKDIR}/build-${TARGET_ARCH}"
> +
> +EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include \
> +                 -DBUILD_PYTHON_SUPPORT=ON \
> +                 -DWITH_FFMPEG=ON \
> +                 -DCMAKE_SKIP_RPATH=ON \
> +                 ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
> +                 ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
> +                 ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
> +                 ${@bb.utils.contains("TUNE_FEATURES", "arm", "-DWITH_IPP=OFF", "", d)} \
> +"
> +
> +PACKAGECONFIG ??= "eigen gtk jpeg libav png tiff v4l jasper"
> +PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen,"
> +PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+,"
> +PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
> +PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
> +PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
> +PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
> +PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
> +PACKAGECONFIG[jasper] = "-DBUILD_JASPER=ON,-DBUILD_JASPER=OFF,jasper"
> +PACKAGECONFIG[pvapi] = '-DWITH_PVAPI=ON -DPVAPI_LIBRARY="${STAGING_LIBDIR}/libPvAPI.a",-DWITH_PVAPI=OFF,pvapi'
> +
> +inherit distutils-base pkgconfig cmake
> +
> +export BUILD_SYS
> +export HOST_SYS
> +export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
> +export PYTHON="${STAGING_BINDIR_NATIVE}/python"
> +
> +TARGET_CC_ARCH += "-I${S}/include "
> +
> +PACKAGES += "${PN}-apps python-opencv"
> +
> +python populate_packages_prepend () {
> +    cv_libdir = d.expand('${libdir}')
> +    do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
> +    do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
> +    do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
> +    do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
> +
> +    pn = d.getVar('PN', 1)
> +    metapkg =  pn + '-dev'
> +    d.setVar('ALLOW_EMPTY_' + metapkg, "1")
> +    blacklist = [ metapkg ]
> +    metapkg_rdepends = [ ] 
> +    packages = d.getVar('PACKAGES', 1).split()
> +    for pkg in packages[1:]:
> +        if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
> +            metapkg_rdepends.append(pkg)
> +    d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
> +}
> +
> +PACKAGES_DYNAMIC += "^libopencv-.*"
> +
> +FILES_${PN} = ""
> +FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
> +FILES_${PN}-dbg += "${libdir}/.debug"
> +FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig"
> +FILES_${PN}-doc = "${datadir}/OpenCV/doc"
> +FILES_${PN}-staticdev += "${datadir}/OpenCV/3rdparty${base_libdir}"
> +
> +ALLOW_EMPTY_${PN} = "1"
> +
> +INSANE_SKIP_python-opencv = "True"
> +DESCRIPTION_python-opencv = "Python bindings to opencv"
> +FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
> +RDEPENDS_python-opencv = "python-core python-numpy"
> +
> +do_install_append() {
> +    cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
> +    sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
> +}
> -- 
> 1.9.1
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20141008/849c4306/attachment-0002.sig>


More information about the Openembedded-devel mailing list