ubuntu 14.04编译安装xen4.4总结
2014-08-04 20:36
459 查看
1. 安装环境
操作系统:ubuntu14.04xen版本:xen4.4
2. 依赖包的安装
在安装xen之前先进行依赖包的安装,在不停得尝试之后,总结出以下需要安装的依赖包。sudo apt-get install gcc make binutils zlib1g-dev python-dev
sudo apt-get install libncurses5-dev libcurl4-openssl-dev libx11-dev
sudo apt-get install uuid-dev libyajl-dev libaio-dev libglib2.0-dev libpixman-1-dev
sudo apt-get install pkg-config bridge-utils iproute udev bison flex gettext
sudo apt-get install bin86 bcc iasl ocaml-nox ocaml-findlib cmake markdown figlet git libc6-dev-i386
sudo apt-get install texinfo texlive-latex-base texlive-latex-recommended texlive-fonts-extra
sudo apt-get install texlive-fonts-recommended pciutils-dev mercurial
以上的依赖包主要是为了能够成功的编译安装xen4.4
3. xen源文件下载
xen4.4源文件地址http://www.xenproject.org/downloads-list/xen-archives/xen-44-series/xen-440.html源文件下载后是一个tar包,该包可以先下到windows下然后用winscp拷贝到虚拟机中,也可以直接在虚拟机中进行下载。
注意:tar包的解压一定要在ubuntu中进行,如果是在windows中解压之后再拷贝到ubuntu中的话,其中文件的执行级别就被修改了,会导致编译出错。
4. xen源文件编译
源文件解压到某个目录下之后,cd到源文件所在目录,执行步骤按照源文件中README里面描述的步骤来执行。# ./configure
# make world
# make install
但是在执行make world执行完之后,会发现提示一个如下所示的错误:
tpmback.c: In function ‘tpmif_change_state’:
tpmback.c:350:4: error: format ‘%d’ expects argument of type ‘int *’, but argument 3 has type ‘enum xenbus_state *’ [-Werror=format=]
if(sscanf(value, "%d", &readst) != 1) {
在出现这个错误之后,源文件的编译后面无法执行了,在查找相关的资料之后,发现一段讨论:
From: Dushyant Behl <myselfdushyantbehl <at> gmail.com> Subject: Re: Compilation Error in extras/mini-os/tpmback.c Newsgroups: gmane.comp.emulators.xen.devel Date: 2014-07-18 10:01:50 GMT (2 weeks, 3 days, 2 hours and 27 minutes ago)
Sure, I'll be happy to do it. On Fri, Jul 18, 2014 at 3:25 PM, Ian Campbell <Ian.Campbell <at> citrix.com> wrote: > On Thu, 2014-07-17 at 20:21 +0200, Samuel Thibault wrote: >> Ian Campbell, le Wed 16 Jul 2014 10:13:31 +0100, a écrit : >> > On Wed, 2014-07-16 at 11:25 +0530, Dushyant Behl wrote: >> > > I'm trying to compile xen from the source and i'm getting this >> > > compilation error while running a make world. >> > > >> > > tpmback.c: In function ‘tpmif_change_state’: >> > > tpmback.c:350:4: error: format ‘%d’ expects argument of type ‘int *’, >> > > but argument 3 has type ‘enum xenbus_state *’ [-Werror=format=] >> > > if(sscanf(value, "%d", &readst) != 1) { >> > > ^ >> > > cc1: all warnings being treated as errors >> > > make[3]: *** [/home/corvo/gsoc/code/xen/stubdom/mini-os-x86_64-vtpm/tpmback.o] >> > > Error 1 >> > > >> > > Could anyone explain that if this is just problem on my side or this >> > > is not fixed in the git tree. >> > >> > It looks like a legitimate issue to me. I expect you are just the first >> > person to use a compiler which picks up in this particular issue. >> > >> > I'm not sure what the correct fix is since C doesn't mandate very much >> > about the storage size of an enum, so casting is probably not the right >> > answer. >> >> Indeed, C99 apparently says “The choice of type is >> implementation-defined”, so >> >> > Probably the value needs to be read into an actual int variable and then >> > assigned to the enum. >> >> that seems like the proper solution. > > Great. Dushyant, are you able to rustle up a patch? > > http://wiki.xen.org/wiki/Submitting_Xen_Patches has some guidance on the > procedure. > > Ian. >
该讨论的地址为:http://thread.gmane.org/gmane.comp.emulators.xen.devel/207530/focus=207948
讨论的结果看起来应该是说这里是一个bug,需要加一个补丁。
Ian 这个人查了一下,应该是Hypervisor Project Team里面的一个成员。
5. 总结
至此,xen4.4版本的安装block住了,ubuntu下的安装应该是可以找到方法的,后面会继续进行测试。相关文章推荐
- 2017年9月问题记录与总结——Ubuntu14.04下安装Xilinx_SDK编译zynq u-boot并制作BOOT.BIN(板卡ZC7045)
- ubuntu server 14.04编译安装bluez5.18
- ubuntu 14.04安装OVS虚拟OpenFlow交换机配置总结
- ubuntu14.04 编译安装highpoint rocketraid 2720驱动
- ubuntu14.04 编译安装highpoint rocketraid 2720驱动
- ubuntu 14.04 编译 android 4.2出错总结
- 关于Ubuntu 14.04 x64 安装 Vmware 10 x64 编译 vmnet失败的解决方法
- ubuntu 14.04 编译安装 vim7.4
- ubuntu下安装交叉编译工具链的方法总结
- Ubuntu 14.04 安装搭建Android开发编译环境
- ubuntu14.04 编译安装highpoint rocketraid 2720驱动
- linux(ubuntu 14.04)编译安装apache
- [Ubuntu] Ubuntu14.04 64bit 编译安装nginx1.7+php5.4+mysql5.6
- ubuntu 14.04.1下安装android 4.2编译环境出错总结
- ubuntu下安装交叉编译工具链的方法总结
- ubuntu 14.04安装OVS虚拟OpenFlow交换机配置总结
- Ubuntu14.04 LTS编译Android4.0.4(exynos)错误总结:
- 在Ubuntu 14.04 64bit下编译安装rtmpdump并调试输出
- Ubuntu 14.04 下编译安装godot 游戏引擎
- Ubuntu 14.04 编译安装 OpenCV2.4.8