2008-02-14 11:47:11

by Ph. Marek

[permalink] [raw]
Subject: 2.6.24.2 won't compile UML

Hello Jeff,
hello everybody else,


I'm trying to compile an UML binary from 2.6.24.

make ARCH=um O=... bzImage

gives

make -C linux-2.6.24.2/ O=output_path/build ARCH=um bzImage
make[1]: Entering directory `output_path/linux-2.6.24.2'
GEN output_path/build/Makefile
scripts/kconfig/conf -s arch/um/Kconfig
net/bluetooth/hidp/Kconfig:4:warning: 'select' used by config symbol 'BT_HIDP' refers to undefined symbol 'HID'
drivers/net/Kconfig:238:warning: 'select' used by config symbol 'AX88796_93CX6' refers to undefined symbol 'EEPROM_93CX6'
drivers/net/Kconfig:1346:warning: 'select' used by config symbol 'B44_PCI_AUTOSELECT' refers to undefined symbol 'SSB_PCIHOST'
drivers/net/Kconfig:1353:warning: 'select' used by config symbol 'B44_PCICORE_AUTOSELECT' refers to undefined symbol 'SSB_DRIVER_PCICORE'
drivers/net/Kconfig:1332:warning: 'select' used by config symbol 'B44' refers to undefined symbol 'SSB'
drivers/net/wireless/Kconfig:551:warning: 'select' used by config symbol 'RTL8187' refers to undefined symbol 'EEPROM_93CX6'
drivers/net/wireless/Kconfig:564:warning: 'select' used by config symbol 'ADM8211' refers to undefined symbol 'EEPROM_93CX6'
drivers/net/wireless/b43/Kconfig:34:warning: 'select' used by config symbol 'B43_PCI_AUTOSELECT' refers to undefined symbol 'SSB_PCIHOST'
drivers/net/wireless/b43/Kconfig:41:warning: 'select' used by config symbol 'B43_PCICORE_AUTOSELECT' refers to undefined symbol 'SSB_DRIVER_PCICORE'
drivers/net/wireless/b43/Kconfig:47:warning: 'select' used by config symbol 'B43_PCMCIA' refers to undefined symbol 'SSB_PCMCIAHOST'
drivers/net/wireless/b43/Kconfig:4:warning: 'select' used by config symbol 'B43' refers to undefined symbol 'SSB'
drivers/net/wireless/b43legacy/Kconfig:27:warning: 'select' used by config symbol 'B43LEGACY_PCI_AUTOSELECT' refers to undefined symbol 'SSB_PCIHOST'
drivers/net/wireless/b43legacy/Kconfig:34:warning: 'select' used by config symbol 'B43LEGACY_PCICORE_AUTOSELECT' refers to undefined symbol 'SSB_DRIVER_PCICORE'
drivers/net/wireless/b43legacy/Kconfig:4:warning: 'select' used by config symbol 'B43LEGACY' refers to undefined symbol 'SSB'
drivers/net/wireless/rt2x00/Kconfig:38:warning: 'select' used by config symbol 'RT2X00_LIB_RFKILL' refers to undefined symbol 'INPUT_POLLDEV'
drivers/net/wireless/rt2x00/Kconfig:44:warning: 'select' used by config symbol 'RT2400PCI' refers to undefined symbol 'EEPROM_93CX6'
drivers/net/wireless/rt2x00/Kconfig:63:warning: 'select' used by config symbol 'RT2500PCI' refers to undefined symbol 'EEPROM_93CX6'
drivers/net/wireless/rt2x00/Kconfig:83:warning: 'select' used by config symbol 'RT61PCI' refers to undefined symbol 'EEPROM_93CX6'
make[2]: *** No rule to make target `bzImage'. Stop.
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `output_path/linux-2.6.24.2'
make: *** [bzImage] Error 2

That's with a "make defconfig ARCH=um O=..." before, too - so it's
not the configuration; but to be sure it's attached.

I have to admit that's on a 2.4 i686 machine, with gcc 2.95.3 on it -
but that should make no difference to the Kconfig warnings, should it?

I found similar messages at http://l4x.org/k/?d=37250, so it should be
reproduceable.


Help, please?


Regards,

Phil


Attachments:
(No filename) (3.21 kB)
config (11.88 kB)
Download all attachments

2008-02-14 13:33:59

by Ph. Marek

[permalink] [raw]
Subject: Re: 2.6.24.2 won't compile UML

Hello everybody,

On Donnerstag, 14. Februar 2008, Ph. Marek wrote:
> I'm trying to compile an UML binary from 2.6.24.
>
> make ARCH=um O=... bzImage
>
> gives
>
> make -C linux-2.6.24.2/ O=output_path/build ARCH=um bzImage
> make[1]: Entering directory `output_path/linux-2.6.24.2'
> GEN output_path/build/Makefile
> scripts/kconfig/conf -s arch/um/Kconfig
> net/bluetooth/hidp/Kconfig:4:warning: 'select' used by config symbol 'BT_HIDP' refers to undefined symbol 'HID'

I now made a patch based on the spirit of
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=0263603a01e802f79e369ac489793e5320031560
- although that's surely the wrong way to go, because it'll break
the other options. I just attach it in case other people have the same problem.


Now I get other errors ...
$ make
CHK include/linux/version.h
CHK include/linux/utsrelease.h
CC arch/x86/kernel/asm-offsets.s
In file included from include/linux/sched.h:54,
from arch/x86/kernel/asm-offsets_32.c:8,
from arch/x86/kernel/asm-offsets.c:2:
include/linux/jiffies.h:18:5: warning: "CONFIG_HZ" is not defined
include/linux/jiffies.h:20:7: warning: "CONFIG_HZ" is not defined
include/linux/jiffies.h:22:7: warning: "CONFIG_HZ" is not defined
include/linux/jiffies.h:24:7: warning: "CONFIG_HZ" is not defined
include/linux/jiffies.h:26:7: warning: "CONFIG_HZ" is not defined
include/linux/jiffies.h:28:7: warning: "CONFIG_HZ" is not defined
include/linux/jiffies.h:30:7: warning: "CONFIG_HZ" is not defined
include/linux/jiffies.h:33:3: error: #error You lose.
and so on, and so on ...

I'm currently trying to use the pre-build binary from
http://user-mode-linux.sourceforge.net - but I'd prefer to build
the kernel myself.


Help, please? Anyone?


Regards,

Phil

2008-02-14 14:13:17

by Gabriel C

[permalink] [raw]
Subject: Re: 2.6.24.2 won't compile UML

Ph. Marek wrote:
> Hello everybody,

Hi,

>
> On Donnerstag, 14. Februar 2008, Ph. Marek wrote:
>> I'm trying to compile an UML binary from 2.6.24.
>>
>> make ARCH=um O=... bzImage
>>
>> gives
>>
>> make -C linux-2.6.24.2/ O=output_path/build ARCH=um bzImage
>> make[1]: Entering directory `output_path/linux-2.6.24.2'
>> GEN output_path/build/Makefile
>> scripts/kconfig/conf -s arch/um/Kconfig
>> net/bluetooth/hidp/Kconfig:4:warning: 'select' used by config symbol 'BT_HIDP' refers to undefined symbol 'HID'
>
> I now made a patch based on the spirit of
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=0263603a01e802f79e369ac489793e5320031560
> - although that's surely the wrong way to go, because it'll break
> the other options. I just attach it in case other people have the same problem.
>
>
> Now I get other errors ...
> $ make
> CHK include/linux/version.h
> CHK include/linux/utsrelease.h
> CC arch/x86/kernel/asm-offsets.s
> In file included from include/linux/sched.h:54,
> from arch/x86/kernel/asm-offsets_32.c:8,
> from arch/x86/kernel/asm-offsets.c:2:
> include/linux/jiffies.h:18:5: warning: "CONFIG_HZ" is not defined
> include/linux/jiffies.h:20:7: warning: "CONFIG_HZ" is not defined
> include/linux/jiffies.h:22:7: warning: "CONFIG_HZ" is not defined
> include/linux/jiffies.h:24:7: warning: "CONFIG_HZ" is not defined
> include/linux/jiffies.h:26:7: warning: "CONFIG_HZ" is not defined
> include/linux/jiffies.h:28:7: warning: "CONFIG_HZ" is not defined
> include/linux/jiffies.h:30:7: warning: "CONFIG_HZ" is not defined
> include/linux/jiffies.h:33:3: error: #error You lose.
> and so on, and so on ...
>

Your tree is most probably broken. make mrproper and try building again.

> Regards,
>
> Phil

Gabriel

2008-02-14 14:22:13

by Ph. Marek

[permalink] [raw]
Subject: Re: 2.6.24.2 won't compile UML

Sorry about the noise ...
Going to another machine with a recent gcc, and re-applying the config file
seems to work, I now got a image.

Just have to get it working now ...


Gabriel: I just got it working.
That was a plain 2.6.24.2 untar - but the "make ARCH=um bzImage" seems to make
a mess.

Thank you nonetheless.


Regards,

Phil

2008-02-14 14:25:04

by Jeff Dike

[permalink] [raw]
Subject: Re: 2.6.24.2 won't compile UML

On Thu, Feb 14, 2008 at 12:13:09PM +0100, Ph. Marek wrote:
> make -C linux-2.6.24.2/ O=output_path/build ARCH=um bzImage

> make[2]: *** No rule to make target `bzImage'. Stop.

This seems pretty clear, no?

bzImage is a x86-ism. Just leave it off, and you'll get linux and vmlinux.

Jeff

--
Work email - jdike at linux dot intel dot com

2008-02-14 14:34:21

by Ph. Marek

[permalink] [raw]
Subject: Re: 2.6.24.2 won't compile UML

On Donnerstag, 14. Februar 2008, Jeff Dike wrote:
> On Thu, Feb 14, 2008 at 12:13:09PM +0100, Ph. Marek wrote:
> > make -C linux-2.6.24.2/ O=output_path/build ARCH=um bzImage
> >
> > make[2]: *** No rule to make target `bzImage'. Stop.
>
> This seems pretty clear, no?
>
> bzImage is a x86-ism. Just leave it off, and you'll get linux and vmlinux.
Yes ... but the various warnings confused me.

Sorry, will try to do better next time.


Thank you!