[yocto] Newbie question: How to get dependencies into compile of custom recipe?

Neuer User auslands-kv at gmx.de
Tue Apr 22 00:57:20 PDT 2014


Hi

Sorry for this simple question. I've just started building my first
image with yocto and would now like to add a (very simple) own recipe.

I followed the Yocto Development guide, added my own layer and included
the "helloworld" example.

Now I would like to exchange the helloworld.c code with a simple
gstreamer-rtsp server code
(http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples/test-launch.c).

I changed the bb file as follows, adding expecially the DEPENDS:

#
# This file was derived from the 'Hello World!' example recipe in the
# Yocto Project Development Manual.
#

DESCRIPTION = "Simple helloworld application"
SECTION = "multimedia"
LICENSE = "MIT"
LIC_FILES_CHKSUM =
"file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r0"

SRC_URI = "file://cameraserver.c"

DEPENDS = "gst-rtsp gstreamer"

S = "${WORKDIR}"

do_compile() {
             ${CC} cameraserver.c -o cameraserver
}

do_install() {
             install -d ${D}${bindir}
             install -m 0755 cameraserver ${D}${bindir}
}


The package "gst-rtsp" is correctly built (as
libgstrtspserver-0.10-0-0.10.8-r0 at cortexa9hf_vfp_neon), but the
compilation process of the "cameraserver.c" does not find the necessary
header include files.

NOTE: recipe camera-server-0.1-r0: task do_compile: Started
Log data follows:
| DEBUG: Executing shell function do_compile
| cameraserver.c:20:21: fatal error: gst/gst.h: No such file or directory
|  #include <gst/gst.h>
|                      ^
| compilation terminated.
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at
/home/ubuntu/yocto/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/camera-server/0.1-r0/temp/log.do_compile.26393)
NOTE: recipe camera-server-0.1-r0: task do_compile: Failed


The debug of bitbake shows, however, that it correctly identifies the
dependent packages:

DEBUG: providers for gst-rtsp are: ['gst-rtsp']
DEBUG: sorted runtime providers for gst-rtsp are:
['/home/ubuntu/yocto/sources/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp_0.10.8.bb']
DEBUG: adding
'/home/ubuntu/yocto/sources/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp_0.10.8.bb'
to satisfy runtime 'gst-rtsp'
DEBUG: providers for gstreamer are: ['gstreamer']
DEBUG: sorted runtime providers for gstreamer are:
['/home/ubuntu/yocto/sources/poky/meta/recipes-multimedia/gstreamer/gstreamer_0.10.36.bb']
DEBUG: adding
'/home/ubuntu/yocto/sources/poky/meta/recipes-multimedia/gstreamer/gstreamer_0.10.36.bb'
to satisfy runtime 'gstreamer'


So, what am I doing wrong? Do I explicitly need to add the dependencies
to the compile environment somehow? If yes, where are the found
directories stored?

Or am I doing this all very wrong? I am really very new to Yocto.

Thanks for any help!

Michael




More information about the yocto mailing list