构建 yocto dunfell 时 random.py 中的非法指令
Illegal instruction in random.py when building yocto dunfell
我正在将我的 Yocto 版本从 sumo 升级到 dunfell,但我在包 python3-setuptools-native
(v45.2.0-r0) 中收到一个错误,指出它已达到 Illegal instruction
.我的 yocto tmp 和 sstate-cache 目录都是新的(即没有 sumo 构建挥之不去)。
这是失败后log.do_compile
文件的内容。
DEBUG: Executing shell function do_compile
Illegal instruction (core dumped)
ERROR: 'python3 setup.py build ' execution failed.
WARNING: exit code 1 from a shell command.
ERROR: Execution of '/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/temp/run.do_compile.2778959' failed with exit code 1:
Illegal instruction (core dumped)
WARNING: exit code 1 from a shell command.
作为调试问题和获取堆栈跟踪的一种方式,我打开了一个 devshell 并启动了 运行 python 并启用了故障处理程序。我基本上是从 setup.py
和 运行 中手动挑选前几行,但在 import setuptools
上失败了。回溯指向 python 安装中 random.py
的第 69 行(即不在 python3-setuptools-native 包中)。
第 69 行 random.py
RECIP_BPF = 2**-BPF
故障处理程序输出
mans@localhost:~/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/setuptools-45.2.0$ python3 -q -X faulthandler
>>> import os
>>> import sys
>>> import setuptools
Fatal Python error: Illegal instruction
Current thread 0x00007f79ddfa0740 (most recent call first):
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/recipe-sysroot-native/usr/lib/python3.8/random.py", line 69 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/recipe-sysroot-native/usr/lib/python3.8/email/utils.py", line 28 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/recipe-sysroot-native/usr/lib/python3.8/email/_policybase.py", line 9 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/recipe-sysroot-native/usr/lib/python3.8/email/feedparser.py", line 27 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/recipe-sysroot-native/usr/lib/python3.8/email/parser.py", line 12 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/setuptools-45.2.0/pkg_resources/__init__.py", line 36 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/setuptools-45.2.0/setuptools/version.py", line 1 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/setuptools-45.2.0/setuptools/__init__.py", line 17 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "<stdin>", line 1 in <module>
Illegal instruction (core dumped)
有人在构建 yocto 时看到过类似的东西吗?
这是 glibc-2.32 中的一个工具链错误,使其成为非原生工具链:https://bugzilla.yoctoproject.org/show_bug.cgi?id=14215
作为解决方法,您可以禁用非原生,例如通过 INHERIT_remove = "uninative"
在您的配置中
在我的例子中(Ubuntu 20 编译 Yocto 3.0),@tim 的解决方案不起作用。相反,我更改了这个文件:
poky/meta/conf/distro/include/yocto-uninative.inc
至:
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.10/"
UNINATIVE_CHECKSUM[aarch64] ?= "645e5c50b2b48aabb8b10f783a9f94b4b7c5ddc7cfceb5386d43b86d30253202"
UNINATIVE_CHECKSUM[i686] ?= "233e09b5ff30e15341232a0c16fa8448ff31dccb8f3f3e2ad3948cdac8c4a598"
UNINATIVE_CHECKSUM[x86_64] ?= "04333677f81990ce2cf55c3bc256cd84a66085d18fc95ccddfab8581e4aec014"
从 yocto 补丁复制而来:
我正在将我的 Yocto 版本从 sumo 升级到 dunfell,但我在包 python3-setuptools-native
(v45.2.0-r0) 中收到一个错误,指出它已达到 Illegal instruction
.我的 yocto tmp 和 sstate-cache 目录都是新的(即没有 sumo 构建挥之不去)。
这是失败后log.do_compile
文件的内容。
DEBUG: Executing shell function do_compile
Illegal instruction (core dumped)
ERROR: 'python3 setup.py build ' execution failed.
WARNING: exit code 1 from a shell command.
ERROR: Execution of '/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/temp/run.do_compile.2778959' failed with exit code 1:
Illegal instruction (core dumped)
WARNING: exit code 1 from a shell command.
作为调试问题和获取堆栈跟踪的一种方式,我打开了一个 devshell 并启动了 运行 python 并启用了故障处理程序。我基本上是从 setup.py
和 运行 中手动挑选前几行,但在 import setuptools
上失败了。回溯指向 python 安装中 random.py
的第 69 行(即不在 python3-setuptools-native 包中)。
第 69 行 random.py
RECIP_BPF = 2**-BPF
故障处理程序输出
mans@localhost:~/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/setuptools-45.2.0$ python3 -q -X faulthandler
>>> import os
>>> import sys
>>> import setuptools
Fatal Python error: Illegal instruction
Current thread 0x00007f79ddfa0740 (most recent call first):
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/recipe-sysroot-native/usr/lib/python3.8/random.py", line 69 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/recipe-sysroot-native/usr/lib/python3.8/email/utils.py", line 28 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/recipe-sysroot-native/usr/lib/python3.8/email/_policybase.py", line 9 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/recipe-sysroot-native/usr/lib/python3.8/email/feedparser.py", line 27 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/recipe-sysroot-native/usr/lib/python3.8/email/parser.py", line 12 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/setuptools-45.2.0/pkg_resources/__init__.py", line 36 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/setuptools-45.2.0/setuptools/version.py", line 1 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "/home/mans/oe-build/am335x-board/tmp/work/x86_64-linux/python3-setuptools-native/45.2.0-r0/setuptools-45.2.0/setuptools/__init__.py", line 17 in <module>
File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 783 in exec_module
File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 991 in _find_and_load
File "<stdin>", line 1 in <module>
Illegal instruction (core dumped)
有人在构建 yocto 时看到过类似的东西吗?
这是 glibc-2.32 中的一个工具链错误,使其成为非原生工具链:https://bugzilla.yoctoproject.org/show_bug.cgi?id=14215
作为解决方法,您可以禁用非原生,例如通过 INHERIT_remove = "uninative"
在您的配置中
在我的例子中(Ubuntu 20 编译 Yocto 3.0),@tim 的解决方案不起作用。相反,我更改了这个文件:
poky/meta/conf/distro/include/yocto-uninative.inc
至:
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.10/"
UNINATIVE_CHECKSUM[aarch64] ?= "645e5c50b2b48aabb8b10f783a9f94b4b7c5ddc7cfceb5386d43b86d30253202"
UNINATIVE_CHECKSUM[i686] ?= "233e09b5ff30e15341232a0c16fa8448ff31dccb8f3f3e2ad3948cdac8c4a598"
UNINATIVE_CHECKSUM[x86_64] ?= "04333677f81990ce2cf55c3bc256cd84a66085d18fc95ccddfab8581e4aec014"
从 yocto 补丁复制而来: