2014-12-11 6 views
1

저는 bitbake를 사용하여 빌드하는 간단한 레서피를 얻으려고합니다. 왜 opencv를 포함 할 수 없는지 알 수 없습니다. 모든 예제에서이 설정을 사용하고 opencv를 연결하는 데 문제가없는 것 같습니다. 나는 새끼를 낳기가 상당히 새롭고, 나는 아주 단순한 것을 오해하고 있다는 두려움이있다. 제공 할 수있는 도움에 미리 감사드립니다.opencv가 포함 된 Bitbake 레시피

Recipie :

UMMARY = "Hello" 
SRCNAME = "Hello" 

depends += "opencv" 

LICENSE = "PSF" 
LIC_FILES_CHKSUM = "file://${TOPDIR}/Yocto/Recipies/LICENSE.txt;md5=7424386ffe323e815ee62ee9ad591dd8" 

SRCREV = "master" 
SRC_URI = "https://developer-binaries.s3.amazonaws.com/hello-1.0.zip" 
SRC_URI[md5sum] = "ca5940b7e30c489c4304c467252980f5" 

inherit pkgconfig cmake 

CMakeLists :

PROJECT(Hello) 

CMAKE_MINIMUM_REQUIRED(VERSION 2.8.11) 

FIND_PACKAGE(OpenCV REQUIRED) 

ADD_EXECUTABLE(Hello 
    Main.cpp) 

INSTALL(FILES 
${CMAKE_BINARY_DIR}/Hello 
    DESTINATION ${exec_prefix}/bin) 

Bitbake 오류 :

ERROR: Function failed: do_configure (log file is located at /home/ubuntu/oe-core/build/out-eglibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/hello/1.0-r0/temp/log.do_configure.5288) 
ERROR: Logfile of failure stored in: /home/ubuntu/oe-core/build/out-eglibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/hello/1.0-r0/temp/log.do_configure.5288 
Log data follows: 
| DEBUG: Executing python function sysroot_cleansstate 
| DEBUG: Python function sysroot_cleansstate finished 
| DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common'] 
| DEBUG: Executing shell function autotools_preconfigure 
| DEBUG: Shell function autotools_preconfigure finished 
| DEBUG: Executing python function autotools_copy_aclocals 
| DEBUG: Python function autotools_copy_aclocals finished 
| DEBUG: Executing shell function do_configure 
| -- The C compiler identification is GNU 4.8.3 
| -- The CXX compiler identification is GNU 4.8.3 
| -- Check for working C compiler: /home/ubuntu/oe-core/build/out-eglibc/sysroots/x86_64-linux/usr/bin/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-gcc 
| -- Check for working C compiler: /home/ubuntu/oe-core/build/out-eglibc/sysroots/x86_64-linux/usr/bin/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-gcc -- works 
| -- Detecting C compiler ABI info 
| -- Detecting C compiler ABI info - done 
| -- Check for working CXX compiler: /home/ubuntu/oe-core/build/out-eglibc/sysroots/x86_64-linux/usr/bin/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-g++ 
| -- Check for working CXX compiler: /home/ubuntu/oe-core/build/out-eglibc/sysroots/x86_64-linux/usr/bin/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-g++ -- works 
| -- Detecting CXX compiler ABI info 
| -- Detecting CXX compiler ABI info - done 
| CMake Error at CMakeLists.txt:5 (FIND_PACKAGE): 
| By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has 
| asked CMake to find a package configuration file provided by "OpenCV", but 
| CMake did not find one. 
| 
| Could not find a package configuration file provided by "OpenCV" with any 
| of the following names: 
| 
|  OpenCVConfig.cmake 
|  opencv-config.cmake 
| 
| Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set 
| "OpenCV_DIR" to a directory containing one of the above files. If "OpenCV" 
| provides a separate development package or SDK, be sure it has been 
| installed. 
| 
| 
| -- Configuring incomplete, errors occurred! 
| See also "/home/ubuntu/oe-core/build/out-eglibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/hello/1.0-r0/build/CMakeFiles/CMakeOutput.log". 
| WARNING: exit code 1 from a shell command. 
| ERROR: Function failed: do_configure (log file is located at /home/ubuntu/oe-core/build/out-eglibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/hello/1.0-r0/temp/log.do_configure.5288) 
ERROR: Task 6 (/home/ubuntu/oe-core/build/Yocto/Recipies/hello.bb, do_configure) failed with exit code '1' 
NOTE: Tasks Summary: Attempted 540 tasks of which 539 didn't need to be rerun and 1 failed. 
NOTE: Writing buildhistory 
No currently running tasks (537 of 549) 

답변

2

변화보십시오 "가 달려있다"에 "DEPENDS"- 사례 문제. 에

git clone git://git.openembedded.org/bitbake/ 
git clone git://git.openembedded.org/openembedded-core 
git clone git://git.openembedded.org/meta-openembedded 

링크에게 openembedded 코어에 bitbake를 구축하고 OE 코어를 구성 할 경우 yocto 당신을 OpenCV를 설치하는 가장 빠른 방법의

1

하나.

ln -s <Path>/bitbake <Path>/openembedded-core/bitbake 
source openembedded-core/oe-init-build-env 

이제, core-image-minimal.bb openembedded 코어/메타/조리법 코어/이미지 /에, 이제 bblayers.conf 파일

BBLAYERS ?= "\ ~Path/openembedded-core/meta \
~Path/meta-openembedded/meta-oe \"

을 편집

IMAGE_INSTALL += "opencv libavcodec-dev libavformat-dev libswscale-dev"

PACKAGECONFIG_pn-opencv="eigen jpeg libav png tiff"

파일을 저장하고 닫습니다.

opencv 종속성은 상업용 ffmpeg recipe에서 제공되므로 local.conf에 다음 행을 추가하십시오.

bitbake core-image-minimal 
:

LICENSE_FLAGS_WHITELIST += "commercial" 

지금, 당신은 OpenCV의 레시피를 수정 구워합니다 다음 명령을 실행할 수 있습니다