Skip to contentSkip to conversation

compiling git -85rc

DISCUSSION Michael Tokarev 2 participants 2 messages Apr 18, 2009 – Apr 19, 2009 KVM

lore
Share & tools
lore
#0 lore raw

For quite some time the compilation of userspace is broken on my environment. I'm not sure if it's new or it was this way before -- at least kvm-84 builds fine.

The problem happens when the kernel running is 64bits and the userspace is 32bits. In the source tree, qemu/ directory correctly configures itself to use -m32 compiler flag (the default anyway), but other directories -- libkvm/ and user/ uses x86_64 for $(ARCH) and hence -m64 and /lib64. And sure thing, the link stage does not work because -lkvm is not compatible (32 vs 64 bits).

I had to change
include config-$(ARCH).mak
into
include config-i386.mak
in libkvm/Makefile and in user/Makefile to build it.

Maybe, just may be, it's sufficient to do a
make ARCH=i386
step instead - I'll try that too.

Comments?

Thanks.

/mjt

#1 lore raw
Quoted 20 lines · Michael Tokarev

For quite some time the compilation of userspace is broken on my environment. I'm not sure if it's new or it was this way before -- at least kvm-84 builds fine.

The problem happens when the kernel running is 64bits and the userspace is 32bits. In the source tree, qemu/ directory correctly configures itself to use -m32 compiler flag (the default anyway), but other directories -- libkvm/ and user/ uses x86_64 for $(ARCH) and hence -m64 and /lib64. And sure thing, the link stage does not work because -lkvm is not compatible (32 vs 64 bits).

I had to change
include config-$(ARCH).mak
into
include config-i386.mak
in libkvm/Makefile and in user/Makefile to build it.

Quoted 4 lines

Maybe, just may be, it's sufficient to do a
make ARCH=i386
step instead - I'll try that too.

That's a bug, I'll fix it up.

Signature · 1 line
Do not meddle in the internals of kernels, for they are subtle and quick to panic.