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

Gary Thomas gary at mlbassoc.com
Tue Apr 22 07:41:57 PDT 2014


On 2014-04-22 06:56, Neuer User wrote:
> 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"

Try adding gst-plugins-good to DEPENDS - that's where the rtsp stuff lives.

>
> 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).
>
>

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------



More information about the yocto mailing list