Re: Can't find pyconfig.h with python3


Khem Raj
 

On 4/24/20 4:17 PM, Emily wrote:
Hi all - 

I'm trying to build an OS with a custom recipe
(https://github.com/kratsg/meta-l1calo/blob/add/opcServer/recipes-core/opc-ua/opc-ua-server-gfex_git.bb).
I can build it as-is in the link above, but when actually trying to use
the output of the recipe (Poverty.so) I get the below error in python3: 

import Poverty Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: /usr/bin/Poverty.so: undefined symbol: _ZN5boost6python6detail11init_moduleEPKcPFvvE

I think that's because I built against python2 in some places. So I
replaced essentially all of the python dependencies with their
corresponding python3 dependencies, but that gives a build error in
bitbake like:  

| /local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/recipe-sysroot/usr/include/boost/python/detail/wrap_python.hpp:50:11: fatal error: pyconfig.h: No such file or directory
|  # include <pyconfig.h>
|            ^~~~~~~~~~~~
| compilation terminated.


However, I checked and the offending file pyconfig.h is actually present
at |
/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/recipe-sysroot/usr/include/python3.5m/.
When I build with python2 dependencies the file is in the same location,
just /python2.7/.

I can't quite tell if this is a yocto problem, or a problem with my
recipe and/or build files for that recipe. If anyone has suggestions
they would be much appreciated!
this seems to be that it is needing python2, so yes it can perhaps be
ported to py3 but you might have to check if it needs some code changes

Looking at the recipe it is ineheriting py2 class here [1]

perhaps you should change that to python3native

[1]
https://github.com/kratsg/meta-l1calo/blob/add/opcServer/recipes-core/opc-ua/opc-ua-server-gfex_git.bb#L15




Thanks!
Emily Smith



Join yocto@lists.yoctoproject.org to automatically receive all group messages.