All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [meta-oe][PATCH v2] opencv: Add recipe for OpenCV v3.0.0-alpha.
Date: Wed, 8 Oct 2014 04:48:58 +0200	[thread overview]
Message-ID: <20141008024858.GG12322@jama> (raw)
In-Reply-To: <1412651209-2483-1-git-send-email-nickdademo@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 7725 bytes --]

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@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@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]

  reply	other threads:[~2014-10-08  2:47 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-07  3:06 [meta-oe][PATCH v2] opencv: Add recipe for OpenCV v3.0.0-alpha Nick D'Ademo
2014-10-08  2:48 ` Martin Jansa [this message]
2014-10-10 10:35   ` Martin Jansa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141008024858.GG12322@jama \
    --to=martin.jansa@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.