ubuntu20.04源码编译安装qemu(qemu8.2)

news2024/11/14 15:09:10

ubuntu20.04源码安装qemu8.2

本文用于记录在ubuntu20中源码编译安装qemu8.2,同时也希望能够对你有所帮助。

一、download qemu
根据自己的需求下载对应版本的qemu源码压缩包。

 https://github.com/qemu/qemu/tags

在这里插入图片描述

二、build qemu
解压缩后,执行下述命令。执行…/configure后,会发现其他的报错信息,下面对其进行详解

mkdir build
cd build
../configure
make

在这里插入图片描述
三、报错信息和解决方案

(一)、缺少ensurepip 和 setuptools python 模块。
ensurepip and separately module is not found,导致python venv creation failed。

WARNING: unrecognized host CPU, proceeding with 'uname -m' output 'x86_64'
python determined to be '/usr/bin/python3'
python version: Python 3.8.10

*** Ouch! ***

Python's ensurepip module is not found.
It's normally part of the Python standard library, maybe your distribution packages it separately?
Either install ensurepip, or alleviate the need for it in the first place by installing pip and setuptools for '/usr/bin/python3'.
(Hint: Debian puts ensurepip in its python3-venv package.) 



ERROR: python venv creation failed

在这里插入图片描述
问题一,解决方案:

sudo apt update

# python3-venv中包含ensurepip 模块
sudo apt install python3-venv

sudo apt install python3-pip

# 安装setuptools模块
pip3 install setuptools

(二)、缺少sphinx 和 Ninja python 模块。
‘sphinx’ was not found ,Cannot find Ninja,导致报错,sphinx为文档生成工具, Ninja为构建工具。

'sphinx==5.3.0' not found:
 • Python package 'sphinx' was not found nor installed.
 • mkvenv was configured to operate offline and did not check PyPI.


Sphinx not found/usable, disabling docs.

ERROR: Cannot find Ninja

在这里插入图片描述

问题二,解决方案:

sudo apt install python3-pip

# 安装Sphinx 
pip3 install Sphinx sphinx_rtd_theme

# 安装ninja 
sudo apt install ninja-build

在这里插入图片描述
在这里插入图片描述

(三)、 “glib-2.0” not found
glib-2.0是一个常用的C语言库,用于编写应用程序和服务端程序。

../meson.build:710:10: ERROR: Dependency "glib-2.0" not found, tried pkgconfig

A full log can be found at /home/hhl/software/qemu-8.2.0/build/meson-logs/meson-log.txt

ERROR: meson setup failed

在这里插入图片描述
问题三,解决方案:

sudo apt install libglib2.0-dev

在这里插入图片描述

(四)、‘flex’ not found
flex 是一个用于生成词法分析器的工具

Program scripts/decodetree.py found: YES (/home/hhl/software/qemu-8.2.0/build/pyvenv/bin/python3 /home/hhl/software/qemu-8.2.0/scripts/decodetree.py)
Program flex found: NO

../target/hexagon/meson.build:180:8: ERROR: Program 'flex' not found or not executable

A full log can be found at /home/hhl/software/qemu-8.2.0/build/meson-logs/meson-log.txt

ERROR: meson setup failed

在这里插入图片描述
问题四,解决方案:

sudo apt install flex

在这里插入图片描述

(五)、‘bison’ not found
bison 是一个通用的解析器生成器,通常与 flex 一起使用来生成词法和语法分析器。

Program bison found: NO

../target/hexagon/meson.build:186:8: ERROR: Program 'bison' not found or not executable

A full log can be found at /home/hhl/software/qemu-8.2.0/build/meson-logs/meson-log.txt

ERROR: meson setup failed

在这里插入图片描述
问题五、解决方案:

sudo apt install bison

在这里插入图片描述

至此,执行…/configure后的报错,应该是全部都解决了。

四、编译安装qemu
在build目录中执行make命令进行编译,耐心等待。

cd build 

# -j 并发编译
make -j8

在这里插入图片描述

cd build 

# 安装qemu
sudo make install

在这里插入图片描述

五、验证是否安装成功

执行下述命令,验证qemu是否安装成功。

qemu-system-aarch64 -version

在这里插入图片描述

到这里,ubuntu中源代码编译安装qemu完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2070058.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文读懂高通GPU驱动渲染流程

1. gpu command分析 1.1 gpu command概述 SM8650平台上,GLES发送给KMD(GPU驱动)的GPU命令有两种类型:同步命令和绘制命令。 绘制命令,一般都是一个个的drawcall组成的,是真正GPU程序指令,KMD会给…

自动分班实用工具

开学前夕,老师们的日程表上又添上了一笔笔的工作任务。分班,作为开学前的一项重要工作,不仅关系到学生的学习环境,也是家长们关注的焦点。 易查分,让分班变得简单 易查分小程序的出现,为老师们提供了一种全…

Vercel 的 AI 工具 V0.dev:如何使用它?

几个月前,Vercel 宣布推出了 V0.dev,这是一款专为开发人员和设计师设计的工具,能够使用 AI 生成 React 代码。最初,V0.dev 对外开放时采用了邀请制,但如今拥有 Vercel 帐户的任何人都可以访问并使用它。 这些工具填补…

计算机专业的 “铁饭碗” 终于被发现啦

计算机专业毕业后只能当码农吗?大错特错❌!其实计算机专业考公真的非常有优势呢!张雪峰就曾说过:“计算机在考公的时候,有那种 yyds 的感觉,是所有单位都要。”😃 🌻计算机类专业包…

音频播放+音频采样(绘制音波)

引言 在 iOS 平台中,实现音频播放有多种方式。AVAudioPlayer 是一个专门用于播放音频数据的类,易于使用,适合处理简单的音频播放需求。而 AVPlayer 则是一种更通用的播放器,既能播放视频资源,也能处理音频内容&#x…

Linux:Linux线程池

目录 线程池的概念 线程池的优点 线程池的应用场景 线程池的实现 线程池演示 线程池的概念 线程池是一种线程使用模式。 线程过多会带来调度开销,进而影响缓存局部和整体性能,而线程池维护着多个线程,等待着监督管理者分配可并发执行的…

长视频生成研究的挑战、方法与前景

人工智能咨询培训老师叶梓 转载标明出处 长视频生成面临的主要挑战包括如何在有限的计算资源下生成长时间、高一致性、内容丰富且多样化的视频序列。另外现有研究中对于“长视频”的定义并不统一,这给研究的标准化和比较带来了困难。来自西安电子科技大学、上海交通…

Window 安装Gogs教程

1、下载 下载地址:https://gogs.io/docs/installation/install_from_binary.html(请自行科学上网 选择Windows amd64(64位)或者386(32位) 2、安装 2.1 将压缩文件放到目标文件夹 2.2 创建数据库 在本地数据库或者其他目标数据库新建查询执行下列SQL语句 找到go…

taskBus的设计局限和吞吐能力测试

在前文中,我们介绍了EPDR技术的起源,以及使用该技术驱动的业余软件无线电平台专栏。已有玩家通过踩坑证明,进程管道交换数据时间延迟大(10ms),构造时间敏感系统难。除非采用传统的紧耦合设计及更大的颗粒度…

尚品汇-选中状态缓存变更、删除缓存购物车(三十八)

目录: (1)选中状态的变更 (2)删除购物车 (3)流程总结 (1)选中状态的变更 用户每次勾选购物车的多选框,都要把当前状态保存起来。由于可能会涉及更频繁的操…

基于AT89C51单片机的可手动定时控制的智能窗帘设计

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/89469560?spm=1001.2014.3001.5503 C 源码+仿真图+毕业设计+实物制作步骤+11 摘要 I abstract II 第1章 绪论 1 1.1 背景及意义 1 1.2 国内外发展现状 1 1.3 设计思想及基…

ChatGPT等大模型高效调参大法——PEFT库的算法简介

随着ChatGPT等大模型(Large Language Model)的爆火,而且目前业界已经发现只有当模型的参数量达到100亿规模以上时,才能出现一些在小模型无法得到的涌现能力,比如 in_context learing 和 chain of thougt。深度学习似乎…

Excel如何快速的定位到某一列和快速知道当前列

Excel如何快速的定位到某一列和快速知道当前列 背景快速找到某一列---660列快速知道当前列 背景 由于某一次做excel数据太大需要快速知道某一列是多少列和快速定位到某一列对此写了这个 快速找到某一列—660列 SUBSTITUTE(ADDRESS(1, 660, 4), "1", ""…

实现MySQL的主从复制基础

目录 1 MySQL实现主从复制的原理 1.1 实现主从复制的规则 1.2 如何实现主从复制 2 MySQL 实现主从复制实践 2.1 实验环境 2.2 my.cnf 配置添加 2.2.1 配置MSTER 端配置文件 2.2.2 配置SLAVE 端配置文件 2.2.3 三台MySQL服务器重启服务 2.3 创建用于复制的用户 2.4 保证三台主机…

Android实战:过root检测

在启动这个app时,我们会看到一个提示,表示设备处于root环境。如下图所示: 为了过掉到这个root检测,我们可以通过直接Hook Toast.show()方法,并打印调用堆栈信息来实现定位关键代码。以下是相关的Frida脚本代码&#…

esxi 安装 精简版win10

镜像来源:[【不忘初心】Windows10 22H2 (19045.4780) X64 无更新 纯净[深度精简版]1.27G](https://www.pc528.net/22h2s.html) 提供下载地址:https://www.123pan.cn/s/lYtRVv-Wmuf3?提取码:GaD4 先把下载esd 转成iso安装 把下载的esd 重命名为install…

如何使用ssm实现学生宿舍管理

TOC ssm094学生宿舍管理jsp 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样…

YOLOv5改进 | 融合改进 | C3融合EffectiveSE-Convolutional【完整代码 + 小白必备】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录: 《YOLOv5入门 改…

如何用comate快速生成一个剩菜好帮手

想法 上班后不想吃饭店的饭菜,时长想自己做一些饭菜,买完菜后却经常放到冰箱中,剩下的菜有无法一下子处理,单纯扔掉有些可惜,但是基于冰箱中的剩菜如何能做出一顿像样的饭菜一致困扰着我,查市面上的程序有…

在不修改应用数据源的情况下,如何确保应用程序能够正常访问adg切换后的主库?

在不修改应用数据源的情况下,如何确保应用程序能够正常访问adg切换后的主库? oracle12c rac测试通过: 1.修改原主库的scanip为某个临时ip,新主库的scanip修改为原生产 2.修改新主库的service_names:dgorcl为原生产的…