不确定这是不是问这个问题的合适地点:
我一直在努力为比特面包的dora分支创建编译python的配方,但还没有得到任何进展。外面似乎有几个菜谱,但对我来说不管用。显然,源代码gz文件处于一种奇怪的状态,不能通过bitbake中的普通do_fetch命令获取。
当使用这些比特面包食谱作为起点时:
和
我修改了代码,创建了一个名为python-cfi1.11.2.bb的新菜谱,然后标准do_fetch就不知道如何处理下载的gz文件。
这是我正在使用的比特面包食谱(命名为python_1.11.2.bb)
SUMMARY = "Foreign Function Interface for Python calling C code"
# This is the format of the actual URI
SRC_URI = "https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf"
DEPENDS += "libffi python-pycparser"
SRC_URI[md5sum] = "a731487324b501c8295221b629d3f5f3"
RDEPENDS_${PN}_class-target = "python-io "
BBCLASSEXTEND = "native nativesdk"
inherit pypi setuptools我在build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/python-cffi/1.11.2-r0/temp/log.do_fetch中得到了一组错误消息
显然,获取器可以正确下载文件,但不知道该如何处理它。构建/下载目录有cffi-1.11.2.tar.gz文件!
...
DEBUG: Trying Upstream
NOTE: fetch https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3
DEBUG: executing /usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate -P /home/pjm/yocto-iscan/poky/build/downloads 'https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3'
DEBUG: Fetcher accessed the network with the command /usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate -P /home/pjm/yocto-iscan/poky/build/downloads 'https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3'
DEBUG: Running export SSH_AUTH_SOCK="/run/user/1000/keyring-1bn6Fg/ssh"; export PATH="/home/pjm/yocto-iscan/poky/build/tmp/sysroots/x86_64-linux/usr/bin/python-native:/home/pjm/yocto-iscan/poky/scripts:/home/pjm/yocto-iscan/poky/build/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi:/home/pjm/yocto-iscan/poky/build/tmp/sysroots/omap3logic/usr/bin/crossscripts:/home/pjm/yocto-iscan/poky/build/tmp/sysroots/x86_64-linux/usr/sbin:/home/pjm/yocto-iscan/poky/build/tmp/sysroots/x86_64-linux/usr/bin:/home/pjm/yocto-iscan/poky/build/tmp/sysroots/x86_64-linux/sbin:/home/pjm/yocto-iscan/poky/build/tmp/sysroots/x86_64-linux//bin:/home/pjm/yocto-iscan/poky/scripts:/home/pjm/yocto-iscan/poky/bitbake/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"; export HOME="/home/pjm"; /usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate -P /home/pjm/yocto-iscan/poky/build/downloads 'https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3'
WARNING: Failed to fetch URL https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3, attempting MIRRORS if available
DEBUG: Fetcher failure for URL: 'https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3'. The fetch command returned success for url https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3 but /home/pjm/yocto-iscan/poky/build/downloads/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3 doesn't exist?!
DEBUG: Trying MIRRORS
...为了使do_fetch能够正确地提取文件,我应该在bitbake食谱中更改什么?我假设有一些post提取步骤需要指定真正的文件名为cffi-1.11.2.tar.gz,而不是挂起md5哈希的文件。它似乎在寻找cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3而不是cffi-1.11.2.tar.gz
发布于 2017-12-03 06:05:01
我想我找到了这个问题的答案。
似乎比特代码正在上游寻找python_1.11.2源文件,而且在实际的菜谱中永远不会到达SRC_URI!
这是个虫子吗?
如果我把菜谱重新命名为cffi_1.11.2.bb,它会很好地工作。
https://stackoverflow.com/questions/46653290
复制相似问题