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

Neuer User auslands-kv at gmx.de
Tue Apr 22 05:56:45 PDT 2014


Am 22.04.2014 10:42, schrieb Richard Purdie:
> 
> Basically, you need to pass in the correct compiler and linker flags.
> 
> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/chapter-developing.html
> 
> Adding:
> 
> `pkg-config --cflags --libs gstreamer`
> 
> to your compiler line will probably help. The system will automatically
> figure out things from there, the environment contains things that
> pkg-config can use to generate the correct options.
> 
> Cheers,
> 
> Richard
> 

Thanks, that helped, but I'm still not through, I'm afraid.

My recipe look like this now:


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} `pkg-config --cflags --libs gstreamer-0.10`
cameraserver.c -o cameraserver
}

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

It only worked with "gstreamer-0.10". Now the compilation works, but
linking stops:

Log data follows:
| DEBUG: Executing shell function do_compile
| /tmp/cckmN8NC.o: In function `main':
| cameraserver.c:(.text+0x70): undefined reference to `gst_rtsp_server_new'
| cameraserver.c:(.text+0x7c): undefined reference to
`gst_rtsp_server_get_media_mapping'
| cameraserver.c:(.text+0x84): undefined reference to
`gst_rtsp_media_factory_new'
| cameraserver.c:(.text+0xa0): undefined reference to
`gst_rtsp_media_factory_set_launch'
| cameraserver.c:(.text+0xb4): undefined reference to
`gst_rtsp_media_mapping_add_factory'
| cameraserver.c:(.text+0xc8): undefined reference to
`gst_rtsp_server_attach'
| collect2: error: ld returned 1 exit status

As it seems only linking to gst-rtsp, not to gstreamer, if I see that
correctly.

I then tried to add "gst-rtsp" or "gst-rtsp-server" or "gst-rtsp-0.10"
or "gst-rtsp-server-0.10" to the pkg-config part, but none of them were
found.

I tell you, I feel extremely stupid. The solution is probably so simple,
yet I do not find a solution (even with using Google).





More information about the yocto mailing list