我使用的是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/
发布于 2017-10-12 23:16:03
这是zbar配置脚本中的错误。
尝试继承pythonnative,这样configure脚本就可以运行兼容的Python,从而知道从哪里查找。
https://stackoverflow.com/questions/46706163
复制相似问题