[yocto] Building pjproject with python module

Jens Lucius incnews at jenslucius.de
Sat May 24 14:57:45 PDT 2014


> Put these exports at the outermost level of your recipe, not inside 
> any function,
> i.e. like this:
>   EXTRA_OECONF += "STAGING_DIR=${STAGING_DIR_NATIVE}"
>   export BUILD_SYS
>   export HOST_SYS
>   export STAGING_INCDIR
>   export STAGING_LIBDIR
>
>>>>
>>>> cd ${S}/pjsip-apps/src/python
>>>> oe_runmake
>>>> }
>>>>
>>>> which starts the building process but then terminates with:
>>>>
>>>> |/  cc1: warning: include location "/usr/include/python2.7" is 
>>>> unsafe for
>>>> /cross-compilation [-Wpoison-system-directories]
>>>> |/  In file included from _pjsua.c:20:0:
>>>> /|/  _pjsua.h:25:20: fatal error: Python.h: No such file or directory
>>>> /
>>>> So can I build them both in one recipe and how? And if built correctly
>>>> how to install the modules? I also tried to split the build into 
>>>> two .bb files.
>>>>
>>>> Thanks for your help.
>>>
>>> Try adding 'inherit pythonnative' to your recipe
>>>
>>>>
>>>> (Here is the pjproject bb)
>>>> --------
>>>> DESCRIPTION = "Open source SIP stack and media stack for presence, 
>>>> im/instant \
>>>>                 messaging, and multimedia communication"
>>>> SECTION = "libs"
>>>> HOMEPAGE ="http://www.pjsip.org/"
>>>> LICENSE = "GPLv2"
>>>> LIC_FILES_CHKSUM 
>>>> ="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>>>> DEPENDS = "alsa-lib openssl python"
>>>>
>>>> PARALLEL_MAKE = ""
>>>>
>>>> SRC_URI ="http://www.pjsip.org/release/${PV}/pjproject-${PV}.tar.bz2"
>>>> SRC_URI[md5sum] = "6ed4bb7750c827dc1d881e209a3b62db"
>>>> SRC_URI[sha256sum] = 
>>>> "da1933336b38b65ff2254bed05ea1076531b16915777a252ea999cf7f3284cb3"
>>>> S = "${WORKDIR}/pjproject-${PV}"
>>>>
>>>> inherit autotools pkgconfig
>>>>
>>>> EXTRA_OECONF += "STAGING_DIR=${STAGING_DIR_NATIVE}"
>>>>
>>>> do_configure_prepend () {
>>>>          export LD="${CC}"
>>>> }
>>>>
>>>> do_compile_prepend() {
>>>>          oe_runmake dep
>>>> }
>>>>
>>>>
>>>> do_install_prepend() {
>>>>      install -d ${D}/usr/bin
>>>>      install -m 755 ${S}/pjsip-apps/bin/pj* ${D}/usr/bin
>>>> }
>>>>
>>>>
>>>>
>>>>
>>>
>>
>
Still did not quite work. After a little bit of searching, I added 
--enable-shared to EXTRA_OECONF and now it works (just had to ship the 
files manually as they are not installed automatically. Thanks for your 
help.



More information about the yocto mailing list