【发布时间】:2018-07-26 23:26:06
【问题描述】:
这里有点奇怪,这个确切的配置过去构建得很好,但现在失败了。我的 qt5 层中没有自定义 bbappends,所以它应该只是一个来自 meta-qt5 的香草构建。
失败看起来像这样:
$ bitbake meta-toolchain-qt5
NOTE: Started PRServer with DBfile: /media/parallels/build/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 38360, PID: 18679
Loading cache: 100% |###################################################################################################################################################| ETA: 00:00:00
Loaded 2898 entries from dependency cache.
Parsing recipes: 100% |#################################################################################################################################################| Time: 00:00:01
Parsing of 2362 .bb files complete (2359 cached, 3 parsed). 2900 targets, 156 skipped, 9 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.26.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Ubuntu-14.04"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "overo"
DISTRO = "poky"
DISTRO_VERSION = "1.8"
TUNE_FEATURES = "arm armv7a vfp neon callconvention-hard cortexa8"
TARGET_FPU = "vfp-neon"
meta
meta-yocto = "(nobranch):83aa565d93aacae484976562ef1ae8dbbb6b2bc0"
meta-gnome
meta-oe
meta-xfce
meta-systemd
meta-networking
meta-multimedia
meta-python = "(nobranch):10d3c8f85280a0bf867a8e4f84bcda81c290d28e"
meta-gumstix = "(nobranch):68e4b5771aef2d11fcf04bb8759fecd409de1ac3"
meta-gumstix-extras = "(nobranch):0ee78d47ff3082000e9e087b1ec0d56df13457d9"
meta-bluechiip = "HHR-STREAM4:a60b5fb37479e2ff1348ab100c0f3735713a730c"
meta-ros = "(nobranch):d465a23c0a96e651419d46b29ab7c0c3663da314"
meta-ti = "(nobranch):03cb3ff15f3b8535ca409ce682f44ec1b81da0c3"
meta-java = "(nobranch):66c97ae7461f4c1a13917131787bb76dc34e6b6f"
meta-qt5 = "(nobranch):90919b9d86988e7da01fa2c0a07246b5b5600a5d"
NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Unable to install packages. Command '/media/parallels/build/tmp/sysroots/x86_64-linux/usr/bin/smart --quiet --data-dir=/media/parallels/build/tmp/work/cortexa8hf-vfp-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/sdk/image/opt/poky/1.8/sysroots/cortexa8hf-vfp-neon-poky-linux-gnueabi/var/lib/smart install -y packagegroup-core-standalone-sdk-target-dbg@all packagegroup-core-standalone-sdk-target@all packagegroup-qt5-toolchain-target@all' returned 1:
Traceback (most recent call last):
File "/media/parallels/build/tmp/sysroots/x86_64-linux/usr/lib/python2.7/site-packages/smart/backends/rpm/pm.py", line 358, in __call__
self._process_rpmout()
File "/media/parallels/build/tmp/sysroots/x86_64-linux/usr/lib/python2.7/site-packages/smart/backends/rpm/pm.py", line 343, in _process_rpmout
output = self.rpmout.read()
File "/media/parallels/build/tmp/sysroots/x86_64-linux/usr/lib/python2.7/codecs.py", line 474, in read
newchars, decodedbytes = self.decode(data, self.errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 4948: ordinal not in range(128)
ERROR: Function failed: do_populate_sdk
ERROR: Logfile of failure stored in: /media/parallels/build/tmp/work/cortexa8hf-vfp-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/temp/log.do_populate_sdk.18850
ERROR: Task 7 (/home/parallels/yocto/poky/meta-qt5/recipes-qt/meta/meta-toolchain-qt5.bb, do_populate_sdk) failed with exit code '1'
NOTE: Tasks Summary: Attempted 4705 tasks of which 4704 didn't need to be rerun and 1 failed.
No currently running tasks (4704 of 4706)
(关于确切的故障点更冗长......)
$ bitbake -v -c populate_sdk meta-toolchain-qt5
<snip>
NOTE: Executing '/media/parallels/build/tmp/sysroots/x86_64-linux/usr/bin/createrepo --dbpath /media/parallels/build/tmp/work/cortexa8hf-vfp-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/rpmdb/cortexa8hf_vfp_neon --update -q /media/parallels/build/tmp/deploy/rpm/cortexa8hf_vfp_neon' ...
NOTE: Executing '/media/parallels/build/tmp/sysroots/x86_64-linux/usr/bin/createrepo --dbpath /media/parallels/build/tmp/work/cortexa8hf-vfp-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/rpmdb/x86_64_nativesdk --update -q /media/parallels/build/tmp/deploy/rpm/x86_64_nativesdk' ...
NOTE: Installing the following packages: packagegroup-core-standalone-sdk-target-dbg packagegroup-core-standalone-sdk-target packagegroup-qt5-toolchain-target
NOTE: to be installed: packagegroup-core-standalone-sdk-target-dbg@all packagegroup-core-standalone-sdk-target@all packagegroup-qt5-toolchain-target@all
NOTE: /media/parallels/build/tmp/sysroots/x86_64-linux/usr/bin/smart --quiet --data-dir=/media/parallels/build/tmp/work/cortexa8hf-vfp-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/sdk/image/opt/poky/1.8/sysroots/cortexa8hf-vfp-neon-poky-linux-gnueabi/var/lib/smart install -y packagegroup-core-standalone-sdk-target-dbg@all packagegroup-core-standalone-sdk-target@all packagegroup-qt5-toolchain-target@all
ERROR: Unable to install packages. Command '/media/parallels/build/tmp/sysroots/x86_64-linux/usr/bin/smart --quiet --data-dir=/media/parallels/build/tmp/work/cortexa8hf-vfp-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/sdk/image/opt/poky/1.8/sysroots/cortexa8hf-vfp-neon-poky-linux-gnueabi/var/lib/smart install -y packagegroup-core-standalone-sdk-target-dbg@all packagegroup-core-standalone-sdk-target@all packagegroup-qt5-toolchain-target@all' returned 1:
Output from udev-cache-182-r9.0.0@cortexa8hf_vfp_neon:
Removing any system startup links for udev-cache ...
Adding system startup for /media/parallels/build/tmp/work/cortexa8hf-vfp-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/sdk/image/opt/poky/1.8/sysroots/cortexa8hf-vfp-neon-poky-linux-gnueabi/etc/init.d/udev-cache.
Traceback (most recent call last):
File "/media/parallels/build/tmp/sysroots/x86_64-linux/usr/lib/python2.7/site-packages/smart/backends/rpm/pm.py", line 358, in __call__
self._process_rpmout()
File "/media/parallels/build/tmp/sysroots/x86_64-linux/usr/lib/python2.7/site-packages/smart/backends/rpm/pm.py", line 343, in _process_rpmout
output = self.rpmout.read()
File "/media/parallels/build/tmp/sysroots/x86_64-linux/usr/lib/python2.7/codecs.py", line 474, in read
newchars, decodedbytes = self.decode(data, self.errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 4948: ordinal not in range(128)
ERROR: Function failed: do_populate_sdk
ERROR: Logfile of failure stored in: /media/parallels/build/tmp/work/cortexa8hf-vfp-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/temp/log.do_populate_sdk.344
ERROR: Task 6 (/home/parallels/yocto/poky/meta-qt5/recipes-qt/meta/meta-toolchain-qt5.bb, do_populate_sdk) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3582 tasks of which 3581 didn't need to be rerun and 1 failed.
我对此的解读是,包管理器只期望包 packagegroup-core-standalone-sdk-target-dbg packagegroup-core-standalone-sdk-target 和 packagegroup-qt5-toolchain-target 中的 ascii 字符并遇到超出范围的值 (195 / 0xc3)。大概聪明的是期待错误的编码。如果这是正确的,如何为这些软件包的安装指定替代编码以及如何确定正确的编码应该是什么?
我有点惊讶这突然成为一个问题,因为我的构建指向与其之前的工作状态完全相同的源 - 它可能完全是另外一回事。我唯一想到的另一件事是,我确实在构建工作和这次失败之间运行了 apt-get update,因此完全有可能其中一个构建工具的版本可能已经改变。
如果我能提供更多数据,我们将不胜感激地收到任何关于如何进行的建议。
【问题讨论】:
标签: qt5 embedded-linux yocto bitbake openembedded