[yocto] bitbake with cmake recipe

Stefan Herbrechtsmeier stefan at herbrechtsmeier.net
Sun Aug 25 11:10:50 PDT 2013


Am 25.08.2013 17:03, schrieb Zafrullah Syed:
> Hi Stefan,
>
> I updated my recipe:
>
> DESCRIPTION = "cameracapture application"
> SECTION = "examples"
> LICENSE = "CLOSED"
> PR = "r0"
>
> DEPENDS = "opencv"
>
> SRC_URI = "git://github.com/zafrullahsyed/cameracapture.git 
> <http://github.com/zafrullahsyed/cameracapture.git>;protocol=https;tag=v0.1"
>
> S = "${WORKDIR}/git"
> inherit pkgconfig cmake
>
> I have my source file and CMakeLists.txt as tar on github. tar is not 
> getting downloaded.
The tar should be in the "${WORKDIR}/git" directory but it will not work 
as you don't tell bitbake to unpack it.

You repository with tag "v0.1" contains only a README.md!

The common use case is to put all sources into the git repository. Why 
you want to save a tar in a git repository?

>
> --> If I remove tar and keep just source file and CMakeLists.txt, then 
> also it is not getting downloaded.
Have you check the content of the 
/home/siguser/yocto/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/cameracapture-0.1-r0/git 
directory?

> I am getting
>
> CMake Error: The source directory 
> "/home/siguser/yocto/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/cameracapture-0.1-r0/cameracapture-0.1" 
> does not appear to contain CMakeLists.txt.
         ^^^
Are you sure you have change the S variable? The error still reference 
the common directory ("${WORKDIR}/${PN}-${PV}").
>
> --> I copied my CMakeLists.txt file in ${WORKDIR}/git and tried the 
> build, got this following error:
>
> ERROR: Function failed: do_configure (see 
> /home/siguser/yocto/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/cameracapture-0.1-r0/temp/log.do_configure.10784 
> for further information)
> ERROR: Logfile of failure stored in: 
> /home/siguser/yocto/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/cameracapture-0.1-r0/temp/log.do_configure.10784
> 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 shell function do_configure
> | CMake Error at 
> /home/siguser/yocto/build/tmp/sysroots/x86_64-linux/usr/share/cmake-2.8/Modules/CMakeDetermineSystem.cmake:95 
> (MESSAGE):
> |   Could not find toolchain file:
> | 
> /home/siguser/yocto/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/cameracapture-0.1-r0/toolchain.cmake
It looks as something went wrong. Please clear the old package and try 
again or increment the PR number.
bitbake -c cleansstate cameracapture && bitbake cameracapture

> | Call Stack (most recent call first):
> |   CMakeLists.txt:2 (project)
> |
> |
> | CMake Error: Error required internal CMake variable not set, cmake 
> may be not be built correctly.
> | Missing variable is:
> | CMAKE_C_COMPILER_ENV_VAR
> | CMake Error: Error required internal CMake variable not set, cmake 
> may be not be built correctly.
> | Missing variable is:
> | CMAKE_C_COMPILER
> | CMake Error: Could not find cmake module 
> file:/home/siguser/yocto/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/cameracapture-0.1-r0/git/CMakeFiles/CMakeCCompiler.cmake
> | CMake Error: Error required internal CMake variable not set, cmake 
> may be not be built correctly.
> | Missing variable is:
> | CMAKE_CXX_COMPILER_ENV_VAR
> | CMake Error: Error required internal CMake variable not set, cmake 
> may be not be built correctly.
> | Missing variable is:
> | CMAKE_CXX_COMPILER
> | CMake Error: Could not find cmake module 
> file:/home/siguser/yocto/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/cameracapture-0.1-r0/git/CMakeFiles/CMakeCXXCompiler.cmake
> | CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
> | CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
> | -- Configuring incomplete, errors occurred!
> | ERROR: Function failed: do_configure (see 
> /home/siguser/yocto/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/cameracapture-0.1-r0/temp/log.do_configure.10784 
> for further information)
> ERROR: Task 6 
> (/home/siguser/yocto/poky/meta-bebot/recipes-bebot/cameracapture/cameracapture_0.1.bb 
> <http://cameracapture_0.1.bb>, do_configure) failed with exit code '1'
>
> Do I need to set CXX Compiler in my CMakeLists.txt?
No, this are subsequent errors of the missing toolchain.cmake.

> My CmakeLists.txt file:
>
> cmake_minimum_required(VERSION 2.8)
> project(cameracapture)
> find_package( OpenCV REQUIRED )
> add_executable( cameracapture cameracapture.cpp )
> target_link_libraries( cameracapture ${OpenCV_LIBS} )
This looks okay.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20130825/20aab6c3/attachment.html>


More information about the yocto mailing list