[yocto] Building pjproject with python module
Jens Lucius
incnews at jenslucius.de
Thu May 22 12:07:58 PDT 2014
Now I am getting this error:
| Traceback (most recent call last):
| File "setup.py", line 111, in <module>
| py_modules=["pjsua"]
| File
"/home/server/poky-daisy-11.0.0/build/tmp/sysroots/i686-linux/usr/lib/python2.7/distutils/core.py",
line 152, in setup
| dist.run_commands()
| File
"/home/server/poky-daisy-11.0.0/build/tmp/sysroots/i686-linux/usr/lib/python2.7/distutils/dist.py",
line 953, in run_commands
| self.run_command(cmd)
| File
"/home/server/poky-daisy-11.0.0/build/tmp/sysroots/i686-linux/usr/lib/python2.7/distutils/dist.py",
line 972, in run_command
| cmd_obj.run()
| File
"/home/server/poky-daisy-11.0.0/build/tmp/sysroots/i686-linux/usr/lib/python2.7/distutils/command/build.py",
line 127, in run
| self.run_command(cmd_name)
| File
"/home/server/poky-daisy-11.0.0/build/tmp/sysroots/i686-linux/usr/lib/python2.7/distutils/cmd.py",
line 326, in run_command
| self.distribution.run_command(command)
| File
"/home/server/poky-daisy-11.0.0/build/tmp/sysroots/i686-linux/usr/lib/python2.7/distutils/dist.py",
line 970, in run_command
| cmd_obj = self.get_command_obj(command)
| File
"/home/server/poky-daisy-11.0.0/build/tmp/sysroots/i686-linux/usr/lib/python2.7/distutils/dist.py",
line 845, in get_command_obj
| klass = self.get_command_class(command)
| File
"/home/server/poky-daisy-11.0.0/build/tmp/sysroots/i686-linux/usr/lib/python2.7/distutils/dist.py",
line 815, in get_command_class
| __import__ (module_name)
| File
"/home/server/poky-daisy-11.0.0/build/tmp/sysroots/i686-linux/usr/lib/python2.7/distutils/command/build_ext.py",
line 16, in <module>
| from distutils.sysconfig import customize_compiler, get_python_version
| File
"/home/server/poky-daisy-11.0.0/build/tmp/sysroots/i686-linux/usr/lib/python2.7/distutils/sysconfig.py",
line 22, in <module>
| PREFIX = os.path.normpath(sys.prefix).replace(
os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
| TypeError: expected a character buffer object
| make: *** [all] Error 1
| ERROR: oe_runmake failed
Am 22.05.2014 17:11, schrieb Gary Thomas:
> On 2014-05-22 09:00, Jens Lucius wrote:
>> Hi
>>
>> I already asked this question before (got no answer) and thought I
>> had it running,
>> but since I had to re-setup my yocto installation it runs into errors
>> again.
>> Maybe somebody can help me with this issue?
>>
>> I am trying to bitbake pjproject including the python module. I manged
>> to write a working .bb recipe for the latest pjproject, which compiles
>> and installes correctly. But I also want to build the python module.
>>
>> The documentation of pjproject says about building the python module:
>>
>> 1. Build the PJSIP libraries first with the usual "./configure && make
>> dep && make" commands.
>> 2. Go to pjsip-apps/src/python directory.
>> 3. Run *'sudo python ./setup.py install'* or just *'sudo make'*
>>
>> So I guess with the working recipe I got part 1. I tried to do stepts 2
>> and 3 by adding the following:
>>
>> do_compile_append() {
>> 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
>> }
>>
>>
>>
>>
>
More information about the yocto
mailing list