编译libvirt,并gdb

本文介绍了如何从源码编译libvirt,并解决编译过程中遇到的依赖问题。此外,还详细说明了如何配置编译选项以启用调试支持。

好久没有碰libivrt了,以前也没有总结下来。所以重新开始编辑libvirt和gdb


本来想直接用 debuginfo-install libvirt    安癍debug版的libivrt,结果没找到包,那就算了吧,重新编译个也不错。


编译过程中会出现如果错误,以前要来装的包,同时如果要编译debug版本的需要带上 --enable-debug=yes

[root@nova02 libvirt-1.2.17]# ./configure --help | grep debug
  --enable-debug=[no|yes] enable debugging output [default=yes]


中途出现的问题如下:

1、configure: error: You must install the libyajl library & headers to compile libvirt
解决方案:yum install libxml2.x86_64  yum install libxml2-devel.x86_64
              yum install yajl.x86_64 yajl-devel.x86_64


2、configure: error: You must install device-mapper-devel/ >= 1.0.0 to compile libvirt
解决方案:yum install device-mapper-devel


3、configure: error: You must install the pciaccess module to build with udev
解决方案:yum install libpciaccess-devel.x86_64
 

4、configure: error: libnl-devel >= 1.1 is required for macvtap support
解决方案:yum install libnl-devel.x86_64



所以总的安装步骤如下:

1. 安装编译工具和依赖包
# yum -y install gcc yajl-devel libxml2-devel device-mapper-devel libpciaccess-devel libnl-devel


2. 下载源码、编译安装
# wget http://libvirt.org/sources/libvirt-1.2.17.tar.gz
# tar -zxf libvirt-1.2.17.tar.gz
# cd libvirt-1.2.17
# ./configure --enable-debug=yes --prefix=/usr
# make
# make install
ldconfig

3. 确认安装成功
# which libvirtd
# virsh version
# libvirtd --version


cp tools/virsh /usr/bin/virsh

ln -s /usr/local/var/run/libvirt/libvirt-sock /var/run/libvirt/libvirt-sock



如果要使用gdb 调试代码需要在编译是加上  --enable-debug=yes

如果需要 libvirt 支持numa,在编译时要加上   --with-numactl


libvirt里有很多宏,在gdb打印宏的时候会报   

(gdb) p LIBVIRT_SETUID_RPC_CLIENT

No symbol "LIBVIRT_SETUID_RPC_CLIENT" in current context.


如果想要打印宏,在编译时需要加上  需要加入-g3 和-gdwarf-2



### 杭州电子科技大学操作系统实验环境配置 #### 一、实验目标 为了顺利完成杭州电子科技大学的操作系统课程实验,需要搭建特定的开发和测试环境。这不仅有助于理解理论知识的应用场景,还能够提高实际动手能力。 #### 二、所需工具与平台 - **操作系统**: 推荐使用 Ubuntu 或其他 Linux 发行版作为主机操作系统;可以考虑在虚拟机内运行目标操作系统以便于管理和隔离[^3]。 - **编译器及构建工具**: - GCC (GNU Compiler Collection): 支持 C/C++ 编程语言的编译工作。 - Make 工具链: 自动化项目构建流程。 - **调试辅助软件** - GDB (GNU Debugger): 提供强大的程序调试功能。 - Valgrind: 内存泄漏检测和其他性能分析工具。 #### 三、具体步骤概述 1. 安装必要的依赖包以确保后续组件能正常安装运作。 ```bash sudo apt update && sudo apt install build-essential gdb valgrind qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager -y ``` 2. 配置 QEMU/KVM 虚拟化环境用于模拟真实硬件条件下的操作系统行为研究。 3. 下载指定版本的目标操作系统镜像文件,通过 Virt-Manager 创建新的虚拟机实例加载该镜像启动。 4. 进入虚拟环境中完成进一步定制化设置,比如网络参数调整、磁盘空间分配等操作。 5. 开始编写简单的驱动模块或者应用程序代码,在宿主机上利用交叉编译的方式生成适用于目标系统的可执行文件。 6. 将编译好的成果传输到虚拟机内部进行部署测试验证其正确性和稳定性。 7. 使用上述提到的各种调试工具对可能出现的问题展开深入排查直至解决问题为止。 8. 记录整个过程中遇到的技术难点及其解决方案形成文档资料积累经验教训方便日后查阅参考。 ```python # Python 示例:自动化脚本帮助快速建立实验环境(仅作示意) import os def setup_environment(): commands = [ "sudo apt-get update", "sudo apt-get install -y git gcc make qemu-kvm" ] for cmd in commands: os.system(cmd) setup_environment() ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值