Skip to contentSkip to conversation

how to compile kvm 64 bit

DISCUSSION paolo pedaletti 4 participants 7 messages Dec 4, 2008 – Dec 7, 2008 1 message not in the archive KVM

lore
Share & tools
lore
#0 lore raw

Ciao,
sorry for this silly question, but I can't compile kvm-79 for AMD 64bit

Linux 2.6.27-9-server, ubuntu 8.10
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 5600+

root@kvm1:/usr/src/kvm-79# ./configure
Install prefix    /usr/local
BIOS directory    /usr/local/share/qemu
binary directory  /usr/local/bin
Manual directory  /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /usr/src/kvm-79/qemu
C compiler        gcc
Host C compiler   gcc
ARCH_CFLAGS       -m64
make              make
install           install
host CPU          x86_64
host big endian   no
target list       x86_64-softmmu
gprof enabled     no
sparse enabled    no
profiler          no
static build      no
-Werror enabled   no
SDL support       yes
SDL static link   yes
curses support    yes
mingw32 support   no
Audio drivers     oss
Extra audio cards
Mixer emulation   no
VNC TLS support   no
kqemu support     no
kvm support       yes
CPU emulation     yes
brlapi support    no
Documentation     no
NPTL support      yes
vde support       yes
AIO support       yes
KVM support       yes
root@kvm1:/usr/src/kvm-79# make
make -C libkvm
make[1]: Entering directory `/usr/src/kvm-79/libkvm'
gcc -march=i686    -mcpu=i686    -malign-functions=4 -O2 -m64
-D__x86_64__ -MMD -MF ./.libkvm-x86.d -g -fomit-frame-pointer -Wall
-fno-stack-protector   -I /usr/src/kvm-79/kernel/include   -c -o
libkvm-x86.o libkvm-x86.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
libkvm-x86.c:1: error: CPU you selected does not support x86-64
instruction set
libkvm-x86.c:1: warning: -malign-functions is obsolete, use
-falign-functions
make[1]: *** [libkvm-x86.o] Error 1
make[1]: Leaving directory `/usr/src/kvm-79/libkvm'
make: *** [libkvm] Error 2

it use i686

witch command line parameter should I use?

thank you.

Signature · 1 line
Paolo Pedaletti
#1 lore raw
Quoted 2 lines · paolo pedaletti

Ciao,
sorry for this silly question, but I can't compile kvm-79 for AMD 64bit

Please pardon me for following up on one silly question with another -- but is your host running a 64-bit userland? (What is the output of "uname -m"?)

#2 lore raw

Ciao Charles,

Quoted 5 lines
Quoted 1 line

sorry for this silly question, but I can't compile kvm-79 for AMD 64bit

Please pardon me for following up on one silly question with another -- but is your host running a 64-bit userland? (What is the output of "uname -m"?)

root@kvm1:/usr/src/kvm-79# uname -a
Linux kvm1 2.6.27-9-server #1 SMP Thu Nov 20 22:56:07 UTC 2008 x86_64
GNU/Linux
root@kvm1:/usr/src/kvm-79# uname -m
x86_64

it's a 64 bit kernel

Signature · 1 line
Paolo Pedaletti

A message that is not in the archive (sent off-list or not yet received): [email protected]

#4 lore raw

your -mcpu=i686 specifically tells gcc to compile for 32-bit cpu you need to use something like

-march=k8 or -mtune=k8 usually

http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html

the difference between march and mtune is whether it breaks compatability with other CPU's (mtune doesn't)

Quoted 76 lines · paolo pedaletti

Ciao,
sorry for this silly question, but I can't compile kvm-79 for AMD 64bit

Linux 2.6.27-9-server, ubuntu 8.10
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 5600+

root@kvm1:/usr/src/kvm-79# ./configure
Install prefix    /usr/local
BIOS directory    /usr/local/share/qemu
binary directory  /usr/local/bin
Manual directory  /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /usr/src/kvm-79/qemu
C compiler        gcc
Host C compiler   gcc
ARCH_CFLAGS       -m64
make              make
install           install
host CPU          x86_64
host big endian   no
target list       x86_64-softmmu
gprof enabled     no
sparse enabled    no
profiler          no
static build      no
-Werror enabled   no
SDL support       yes
SDL static link   yes
curses support    yes
mingw32 support   no
Audio drivers     oss
Extra audio cards
Mixer emulation   no
VNC TLS support   no
kqemu support     no
kvm support       yes
CPU emulation     yes
brlapi support    no
Documentation     no
NPTL support      yes
vde support       yes
AIO support       yes
KVM support       yes
root@kvm1:/usr/src/kvm-79# make
make -C libkvm
make[1]: Entering directory `/usr/src/kvm-79/libkvm'
gcc -march=i686    -mcpu=i686    -malign-functions=4 -O2 -m64
(quoted diff) +0 -2
-D__x86_64__ -MMD -MF ./.libkvm-x86.d -g -fomit-frame-pointer -Wall
-fno-stack-protector   -I /usr/src/kvm-79/kernel/include   -c -o

libkvm-x86.o libkvm-x86.c
-mcpu=' is deprecated. Use -mtune=' or '-march=' instead. libkvm-x86.c:1: error: CPU you selected does not support x86-64 instruction set
libkvm-x86.c:1: warning: -malign-functions is obsolete, use -falign-functions
make[1]: *** [libkvm-x86.o] Error 1
make[1]: Leaving directory `/usr/src/kvm-79/libkvm'
make: *** [libkvm] Error 2

it use i686

witch command line parameter should I use?

thank you.

--
Paolo Pedaletti

--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#5 lore raw

Ciao Malinka,

Quoted 3 lines

your -mcpu=i686 specifically tells gcc to compile for 32-bit cpu you need to use something like
-march=k8 or -mtune=k8 usually

ok, I can understand it, but I thought that it was enough to run ./compile
to obtain the correct Makefile with the right cpu-option

Quoted 10 lines
Quoted 10 lines
root@kvm1:/usr/src/kvm-79# ./configure
Source path       /usr/src/kvm-79/qemu
C compiler        gcc
Host C compiler   gcc
ARCH_CFLAGS       -m64
make              make
install           install
host CPU          x86_64
host big endian   no
target list       x86_64-softmmu

so ./compile detect the right cpu/options

Quoted 7 lines
Quoted 7 lines
root@kvm1:/usr/src/kvm-79# make
make -C libkvm
make[1]: Entering directory `/usr/src/kvm-79/libkvm'
gcc -march=i686    -mcpu=i686    -malign-functions=4 -O2 -m64
(quoted diff) +0 -2
-D__x86_64__ -MMD -MF ./.libkvm-x86.d -g -fomit-frame-pointer -Wall
-fno-stack-protector   -I /usr/src/kvm-79/kernel/include   -c -o

libkvm-x86.o libkvm-x86.c

but the Makefile is wrong

do I do something wrong?
Is it necessary to do something different?

thank you

Signature · 1 line
Paolo Pedaletti
#6 lore raw
Quoted 21 lines · paolo pedaletti

Ciao Malinka,

Quoted 3 lines

your -mcpu=i686 specifically tells gcc to compile for 32-bit cpu you need to use something like
-march=k8 or -mtune=k8 usually

ok, I can understand it, but I thought that it was enough to run ./compile
to obtain the correct Makefile with the right cpu-option

Quoted 10 lines
Quoted 10 lines
root@kvm1:/usr/src/kvm-79# ./configure
Source path       /usr/src/kvm-79/qemu
C compiler        gcc
Host C compiler   gcc
ARCH_CFLAGS       -m64
make              make
install           install
host CPU          x86_64
host big endian   no
target list       x86_64-softmmu
Quoted 1 line

so ./compile detect the right cpu/options

This output is from qemu's configure script, so applies only within the qemu directory, and you seem to be having trouble with libkvm.

Quoted 9 lines
Quoted 7 lines
Quoted 7 lines
root@kvm1:/usr/src/kvm-79# make
make -C libkvm
make[1]: Entering directory `/usr/src/kvm-79/libkvm'
gcc -march=i686    -mcpu=i686    -malign-functions=4 -O2 -m64
(quoted diff) +0 -2
-D__x86_64__ -MMD -MF ./.libkvm-x86.d -g -fomit-frame-pointer -Wall
-fno-stack-protector   -I /usr/src/kvm-79/kernel/include   -c -o

libkvm-x86.o libkvm-x86.c

but the Makefile is wrong

I don't see arch=, cpu=, nor i686 anywhere in the libkvm build scripts. Could you have a shell alias or some other strangeness on your system that is adding those i686 options?

Signature · 2 lines
Hollis Blanchard
IBM Linux Technology Center
#7 lore raw

Ciao Hollis,

Quoted 3 lines

I don't see arch=, cpu=, nor i686 anywhere in the libkvm build scripts. Could you have a shell alias or some other strangeness on your system that is adding those i686 options?

yes, it was true...
TANK YOU!

some old vars that I used to use on another "old" platform.

thanks again...

Signature · 2 lines
/* Paolo Pedaletti,
 * [email protected] www.pedaletti.it */