首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >yocto:找不到Python.h,交叉编译失败

yocto:找不到Python.h,交叉编译失败
EN

Stack Overflow用户
提问于 2017-10-12 17:34:35
回答 1查看 912关注 0票数 0

我使用的是poky版本的yocto,并在我的yocto版本中添加了zbar库。我在http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/zbar/zbar_0.10.bb上找到了一个现成的食谱,并对其进行了一些修改,以便与poky一起使用。我用imagemagick让它工作得很好,编译好的zbarimg在目标板上工作。

修改后的食谱可以在这里找到:http://paste.ubuntu.com/25725000/

当我继续为构建配置python support (--with-python)时,一些依赖问题悄悄出现,我无法解决这些问题。

似乎编译器找不到合适的头文件,因为include路径没有包含合适的文件夹。

完整的编译器命令是:arm-poky-linux-gnueabi-libtool: compile: arm-poky-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a7 --sysroot=/home/jlumme/imx_build/build-x11-pico-imx6ul/tmp/sysroots/pico-imx6ul-emmc -DHAVE_CONFIG_H -I. -I/home/jlumme/imx_build/build-x11-pico-imx6ul/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/zbar/0.10-r0/zbar-0.10 -I./include -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -I/usr/include/python2.7 -I/usr/include/python2.7 -I/home/jlumme/imx_build/build-x11-pico-imx6ul/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/zbar/0.10-r0/zbar-0.10/include -Wall -Wno-parentheses -O2 -pipe -g -feliminate-unused-debug-types -c /home/jlumme/imx_build/build-x11-pico-imx6ul/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/zbar/0.10-r0/zbar-0.10/python/symbol.c -fPIC -DPIC -o python/.libs/python_zbar_la-symbol.o

您可以看到,设置了sysroot变量,它看起来像是正确的位置,并且那里有/usr/include/python2.7,尽管它指向的是主机系统包含路径。

有一个来自编译器的警告:cc1: warning: include location "/usr/include/python2.7" is unsafe for cross-compilation [-Wpoison-system-directories],我不知道为什么会发生这种情况,但看起来python2.7文件夹是正确的,只是不在sysroot下(我的主机系统没有/usr/lib/python2.7)

如果我转到sysroot include (/home/jlumme/imx_build/build-x11-pico-imx6ul/tmp/sysroots/pico-imx6ul-emmc/usr/include/)文件夹,可以看到它有一个子文件夹python2.7。如果在这个usr/include文件夹下,我添加了一个符号链接Python.h -> python2.7/Python.h,编译器会报错找不到下一个头文件。

所以在我看来,我应该做的就是添加适当的'sysroot' + usr/include/python2.7作为包含搜索文件夹,它将很高兴地编译-但我不确定如何..

完整的编译日志可以在这里找到:http://paste.ubuntu.com/25725014/

EN

回答 1

Stack Overflow用户

发布于 2017-10-12 23:16:03

这是zbar配置脚本中的错误。

尝试继承pythonnative,这样configure脚本就可以运行兼容的Python,从而知道从哪里查找。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46706163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档