summary refs log tree commit diff stats
path: root/results/scraper/launchpad/1531632
blob: 5a19b193a77f7d05ddfb8f4fff2fa3118ab41f46 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
Can't compile qemu because of errors in the Xen code

I'm using Arch Linux, with all needed libs packages installed via ABS (compiled from source).
I tried to clone the master repository, the v2.5.0 and the stable-2.4.0, all I had the same problems:

First I have to disable -Werror, because it claims about some uninitialized variables.

Trying to compile the code, it stops when compiling the xen code (hw/block/xendisk.o), complaining that ioservid_t is declared twice, first as 16bit and then as 32bit.

Output of make:

  CC    hw/block/xen_disk.o
In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
                 from /home/leo/qemu/hw/block/xen_disk.c:39:
/home/leo/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting types for ‘ioservid_t’
 typedef uint16_t ioservid_t;
                  ^
In file included from /usr/include/xenctrl.h:37:0,
                 from /home/leo/qemu/include/hw/xen/xen_common.h:9,
                 from /home/leo/qemu/include/hw/xen/xen_backend.h:4,
                 from /home/leo/qemu/hw/block/xen_disk.c:39:
/usr/include/xen/xen.h:353:18: note: previous declaration of ‘ioservid_t’ was here
 typedef uint32_t ioservid_t;
                  ^
In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
                 from /home/leo/qemu/hw/block/xen_disk.c:39:
/home/leo/qemu/include/hw/xen/xen_common.h: In function ‘xen_get_ioreq_server_info’:
/home/leo/qemu/include/hw/xen/xen_common.h:256:36: error: ‘HVM_PARAM_IOREQ_PFN’ undeclared (first use in this function)
     rc = xc_get_hvm_param(xc, dom, HVM_PARAM_IOREQ_PFN, &param);
                                    ^
/home/leo/qemu/include/hw/xen/xen_common.h:256:36: note: each undeclared identifier is reported only once for each function it appears in
In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
                 from /home/leo/qemu/hw/block/xen_disk.c:39:
/home/leo/qemu/include/hw/xen/xen_common.h:264:36: error: ‘HVM_PARAM_BUFIOREQ_PFN’ undeclared (first use in this function)
     rc = xc_get_hvm_param(xc, dom, HVM_PARAM_BUFIOREQ_PFN, &param);
                                    ^
/home/leo/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
make: *** [hw/block/xen_disk.o] Error 1
[leo@AlphaArch build]$ make
  CC    hw/block/xen_disk.o
In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
                 from /home/leo/qemu/hw/block/xen_disk.c:39:
/home/leo/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting types for ‘ioservid_t’
 typedef uint16_t ioservid_t;
                  ^
In file included from /usr/include/xenctrl.h:37:0,
                 from /home/leo/qemu/include/hw/xen/xen_common.h:9,
                 from /home/leo/qemu/include/hw/xen/xen_backend.h:4,
                 from /home/leo/qemu/hw/block/xen_disk.c:39:
/usr/include/xen/xen.h:353:18: note: previous declaration of ‘ioservid_t’ was here
 typedef uint32_t ioservid_t;
                  ^
In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
                 from /home/leo/qemu/hw/block/xen_disk.c:39:
/home/leo/qemu/include/hw/xen/xen_common.h: In function ‘xen_get_ioreq_server_info’:
/home/leo/qemu/include/hw/xen/xen_common.h:256:36: error: ‘HVM_PARAM_IOREQ_PFN’ undeclared (first use in this function)
     rc = xc_get_hvm_param(xc, dom, HVM_PARAM_IOREQ_PFN, &param);
                                    ^
/home/leo/qemu/include/hw/xen/xen_common.h:256:36: note: each undeclared identifier is reported only once for each function it appears in
In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
                 from /home/leo/qemu/hw/block/xen_disk.c:39:
/home/leo/qemu/include/hw/xen/xen_common.h:264:36: error: ‘HVM_PARAM_BUFIOREQ_PFN’ undeclared (first use in this function)
     rc = xc_get_hvm_param(xc, dom, HVM_PARAM_BUFIOREQ_PFN, &param);
                                    ^
/home/leo/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
make: *** [hw/block/xen_disk.o] Error 1
[leo@AlphaArch build]$ make
  CC    hw/block/xen_disk.o
In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
                 from /home/leo/qemu/hw/block/xen_disk.c:39:
/home/leo/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting types for ‘ioservid_t’
 typedef uint16_t ioservid_t;
                  ^
In file included from /usr/include/xenctrl.h:37:0,
                 from /home/leo/qemu/include/hw/xen/xen_common.h:9,
                 from /home/leo/qemu/include/hw/xen/xen_backend.h:4,
                 from /home/leo/qemu/hw/block/xen_disk.c:39:
/usr/include/xen/xen.h:353:18: note: previous declaration of ‘ioservid_t’ was here
 typedef uint32_t ioservid_t;
                  ^
In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
                 from /home/leo/qemu/hw/block/xen_disk.c:39:
/home/leo/qemu/include/hw/xen/xen_common.h: In function ‘xen_get_ioreq_server_info’:
/home/leo/qemu/include/hw/xen/xen_common.h:256:36: error: ‘HVM_PARAM_IOREQ_PFN’ undeclared (first use in this function)
     rc = xc_get_hvm_param(xc, dom, HVM_PARAM_IOREQ_PFN, &param);
                                    ^
/home/leo/qemu/include/hw/xen/xen_common.h:256:36: note: each undeclared identifier is reported only once for each function it appears in
In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
                 from /home/leo/qemu/hw/block/xen_disk.c:39:
/home/leo/qemu/include/hw/xen/xen_common.h:264:36: error: ‘HVM_PARAM_BUFIOREQ_PFN’ undeclared (first use in this function)
     rc = xc_get_hvm_param(xc, dom, HVM_PARAM_BUFIOREQ_PFN, &param);
                                    ^
/home/leo/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
make: *** [hw/block/xen_disk.o] Error 1

Can you post the `configure` command line you used when you try to compile?

Hello pranith,

  Well, as I'm using the "ABS" system from Arch Linux, I had to study how it compile things, but I found it:

./configure --prefix=/usr --sysconfdir=/etc --audio-drv-list='pa alsa sdl' \
              --python=/usr/bin/python2 --smbd=/usr/bin/smbd \
              --enable-docs --libexecdir=/usr/lib/qemu \
              --disable-gtk --enable-linux-aio --enable-seccomp \
              --enable-spice --localstatedir=/var \
              --enable-tpm \
              --enable-modules --enable-{rbd,glusterfs,libiscsi,curl}

Then I downloaded a copy of qemu with git  and I run the configure help (configure --help), then I saw that I can "enable/disable" xen, so I added the ---disable-xen to the above line in the PKGBUILD file from ABS and it compiled.
So, on **my** box I just had to disable Xen as I don't use it.
Thank you for your help.

OK. I am closing this then. :)