kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).