Ubuntu amd64下Xen编译错误解决方案

来源:互联网 发布:c语言的地位作用 编辑:程序博客网 时间:2024/06/06 02:34
  • 编译环境
    Ubuntu 14.04 64位
    • Python错误
    Traceback (most recent call last): File "./tools/layoutrom.py", line 630, in <module> main() File "./tools/layoutrom.py", line 607, in main info16 = parseObjDump(infile16, '16') File "./tools/layoutrom.py", line 538, in parseObjDump relocsection = sectionmap[sectionname] KeyError: '.text.asm.out/../src/smp.c.77'
    原因是:语言设置为UTF-8
    解决方法:使用 LC_ALL=C make命令进行编译
    • cdefs.h
    fatal error: sys/cdefs.h: No such file or directory
    原因是:使用的是amd64版本的Ubuntu
    解决方法:安装libc6-dev-i386软件包

    • makeinfo
    WARNING: `makeinfo' is missing on your system. You should only need it if
    you modified a `.texi' or `.texinfo' file, or any other file
    indirectly affecting the aspect of the manual. The spurious
    call might also be the consequence of using a buggy `make' (AIX,
    DU, IRIX). You might want to install the `Texinfo' package or
    the `GNU make' package. Grab either from any GNU archive site.
    原因:未安装makeinfo软件包
    解决方法:安装texinfo
    • tmpback.c语法错误
    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
    原因:gcc4.8.2对C99语法支持不好
    解决方案:将系统默认的GCC 降级到4.7
    具体操作如下:
    • 使用apt-get安装特定版本的GCC
    sudo apt-get install gcc-4.7
    • 使用update-alternatives配置版本
    下述命令将特定版本的GCC 列为GCC  的选项
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40
    下述命令设置选择哪个版本的GCC 作为默认的GCC 
    sudo update-alternatives --config gcc
    • xl报错
    # xl info
    xc: error: Could not obtain handle on privileged command interface (2 = No such file or directory): Internal error
    libxl: error: libxl.c:99:libxl_ctx_alloc: cannot open libxc handle: No such file or directory
    cannot init xl context
    是因为没有挂载 xenfs 的缘故
    挂载一下:
    # modprobe xenfs
    # mount -t xenfs xenfs /proc/xen
    • 启动Domain0
    # /etc/init.d/xencommons start

    转载自:http://blog.163.com/sunbo1992@126/blog/static/163551287201492715340786/
0 0
原创粉丝点击