* Build failure with qemu-kvm 0.1x
@ 2010-01-08 23:32 Ozan Çağlayan
2010-01-08 23:51 ` Ozan Çağlayan
0 siblings, 1 reply; 2+ messages in thread
From: Ozan Çağlayan @ 2010-01-08 23:32 UTC (permalink / raw)
To: KVM list
Hi,
(Please keep me in CC as i'm not subscribed)
I couldn't achieve to compile qemu-kvm 0.1x.y series on my 32-bit host
system
I tried practically every target combination but nope. Here's the
configuration part:
./configure --target-list="i386-softmmu i386-linux-user" --prefix=/usr
Install prefix /usr
BIOS directory /usr/share/kvm
binary directory /usr/bin
Manual directory /usr/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path /var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2
C compiler gcc
Host C compiler gcc
CFLAGS -O2 -g
QEMU_CFLAGS -m32 -Wold-style-definition -Wold-style-declaration
-I. -I$(SRC_PATH) -U_FORTIFY_SOURCE -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef
-Wendif-labels -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing
LDFLAGS -Wl,--warn-common -m32 -g
make make
install install
host CPU i386
host big endian no
target list i386-softmmu i386-linux-user
tcg debug enabled no
gprof enabled no
sparse enabled no
strip binaries yes
profiler no
static build no
-Werror enabled no
SDL support yes
curses support yes
curl support yes
check support no
mingw32 support no
Audio drivers oss
Extra audio cards ac97 es1370 sb16
Block whitelist
Mixer emulation no
VNC TLS support yes
VNC SASL support yes
xen support no
CPU emulation yes
brlapi support no
bluez support yes
Documentation yes
NPTL support yes
GUEST_BASE yes
PIE user targets no
vde support no
IO thread no
Linux AIO support yes
Install blobs yes
KVM support yes
KVM PIT support yes
KVM device assig. yes
KVM trace support no
fdt support no
preadv support no
fdatasync yes
uuid support yes
When I run make V=1, it fails at:
gcc -I/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/slirp -m32
-Wold-style-definition -Wold-style-declaration -I.
-I/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2 -U_FORTIFY_SOURCE
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wendif-labels
-Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -DHAS_AUDIO
-DHAS_AUDIO_CHOICE
-I/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/fpu
-I/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/tcg
-I/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/tcg/i386 -I..
-I/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/target-i386
-DNEED_CPU_H
-I/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/kvm/include -include
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/kvm/include/linux/config.h
-I/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/kvm/include/x86
-idirafter /var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/compat -MMD
-MP -MT kvm-all.o -O2 -g
-I/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/kvm/include -include
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/kvm/include/linux/config.h
-I/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/kvm/include/x86
-idirafter /var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/compat -c -o
kvm-all.o /var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/kvm-all.c
In file included from
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/kvm-all.c:1105:
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/qemu-kvm.c: In function
'kvm_set_phys_mem':
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/qemu-kvm.c:2296: error:
'p' undeclared (first use in this function)
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/qemu-kvm.c:2296: error:
(Each undeclared identifier is reported only once
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/qemu-kvm.c:2296: error:
for each function it appears in.)
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/qemu-kvm.c:2296:
warning: implicit declaration of function 'find_mapping'
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/qemu-kvm.c:2299:
warning: implicit declaration of function 'drop_mapping'
Now looking at the code there, it seems that TARGET_I386 isn't defined
so p stays undeclared:
#ifdef TARGET_I386
struct mapping *p;
#endif
Now I restart build with MAKE V=1 CFLAGS+="-DTARGET_I386", the errors
above disappears as p is now declared but:
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/hw/i8254-kvm.c: In
function 'kvm_pit_pre_save':
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/hw/i8254-kvm.c:38:
error: storage size of 'pit2' isn't known
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/hw/i8254-kvm.c:43:
warning: implicit declaration of function 'kvm_has_pit_state2'
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/hw/i8254-kvm.c:44:
warning: implicit declaration of function 'kvm_get_pit2'
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/hw/i8254-kvm.c:38:
warning: unused variable 'pit2'
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/hw/i8254-kvm.c: In
function 'kvm_pit_post_load':
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/hw/i8254-kvm.c:72:
error: storage size of 'pit2' isn't known
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/hw/i8254-kvm.c:97:
warning: implicit declaration of function 'kvm_set_pit2'
/var/pisi/kvm-0.12.1.2-49/work/qemu-kvm-0.12.1.2/hw/i8254-kvm.c:72:
warning: unused variable 'pit2'
and so on.. I suspect some locale specific things going on with i386 and
TARGET_I386 as i->I conversion is a little bit problematic in Turkish
collation. That's why I experimented a bit with LC_ALL=C but didn't
figure out anything useful.
And as I write this e-mail, I somehow managed to build it cleanly but
I'm sure that I didn't do anything special for that. I then make clean,
configure, make, and it failed again. Re-do the same cycle and now it
built correctly again for the 2nd time, what the hell is going on, any
ideas?
Thanks,
Ozan
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Build failure with qemu-kvm 0.1x
2010-01-08 23:32 Build failure with qemu-kvm 0.1x Ozan Çağlayan
@ 2010-01-08 23:51 ` Ozan Çağlayan
0 siblings, 0 replies; 2+ messages in thread
From: Ozan Çağlayan @ 2010-01-08 23:51 UTC (permalink / raw)
To: KVM list
Ozan Çağlayan wrote:
> Hi,
>
>
> and so on.. I suspect some locale specific things going on with i386 and
> TARGET_I386 as i->I conversion is a little bit problematic in Turkish
> collation. That's why I experimented a bit with LC_ALL=C but didn't
> figure out anything useful.
>
And yes that was it:
target_arch_name="`echo $TARGET_ARCH | tr '[:lower:]' '[:upper:]'`"
this can't convert i386 to I386 which then appears in #ifdef
TARGET_I386. This will probably only affect languages in which
CAPITAL(i) = İ
CAPITAL(ı) = I
e.g. Turkish.
I work-arounded it by exporting LC_ALL=C at the beginning of the
configure script. It's on yours now to decide to fix it in upstream or not,
Thanks anyway :)
Regards,
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-01-08 23:51 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-08 23:32 Build failure with qemu-kvm 0.1x Ozan Çağlayan
2010-01-08 23:51 ` Ozan Çağlayan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).