簡體   English   中英

構建 yocto dunfell 時 random.py 中的非法指令

[英]Illegal instruction in random.py when building yocto dunfell

我正在將我的 Yocto 版本從 sumo 升級到 dunfell,但在 package python3-setuptools-native (v45.2.0-r0) 中出現錯誤,指出它已達到Illegal instruction 我的 yocto tmp 和 sstate-cache 目錄都是新的(即沒有相撲構建揮之不去)。

這是失敗后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 包中)。

random.py 的第 69 行

RECIP_BPF = 2**-BPF

故障處理程序 output

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 中的一個工具鏈錯誤,它進入了 uninative 工具鏈: https://bugzilla.yoctoproject.org/show_bug.cgi?id=14215

作為一種解決方法,您可以禁用 uninative,例如通過配置中的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 補丁復制的:

https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?h=dunfell&id=cdda267645506b2471a1085b42de3cdfa238d8d5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM