[coreboot] coreinfo compilation problem

Uwe Hermann uwe at hermann-uwe.de
Fri Jul 3 14:08:45 CEST 2009

On Sun, Jun 28, 2009 at 12:49:09AM -0700, Warren Turkal wrote:
> The following is the output I get when trying to compile coreinfo.
> wt at mediakitchen:~/projects/coreboot/coreinfo$ make
>   CC      build/cpuinfo_module.o
>   AS      build/cpuid.S.o
>   CC      build/pci_module.o
>   CC      build/coreboot_module.o
>   CC      build/nvram_module.o
>   CC      build/bootlog_module.o
>   CC      build/ramdump_module.o
>   CC      build/lar_module.o
>   CC      build/multiboot_module.o
>   CC      build/coreinfo.o
>   LD      build/coreinfo.elf
> /home/wt/projects/coreboot/coreinfo/build/cpuinfo_module.o: In
> function `cpuinfo_module_init':
> cpuinfo_module.c:(.text+0x469): undefined reference to `__udivdi3'
> ../libpayload/bin/../lib/libpayload.a(timer.o): In function `get_cpu_speed':
> timer.c:(.text+0xe8): undefined reference to `__udivdi3'
> ../libpayload/bin/../lib/libpayload.a(printf.o): In function `print_number':
> printf.c:(.text+0x344): undefined reference to `__umoddi3'
> printf.c:(.text+0x379): undefined reference to `__udivdi3'
> collect2: ld returned 1 exit status
> make: *** [/home/wt/projects/coreboot/coreinfo/build/coreinfo.elf] Error 1
> Is there something I am not doing that I should be doing?

apt-get install gcc-multilib

That should fix your problem. You're on a 64bit system and need 32bit

> Also, I had to manually symlink libpayload.config to .config in my
> libpayload directory so that lpgcc would work. This should probably be
> automated.

There's no symlinking required, but I think the docs need some updating.
The problem is that coreinfo must be pointed to an _installed_ libpayload
dir, not to the libpayload source directory.

Here's what the canonical installation instructions look like (similar
to FILO trunk):

svn co svn://coreboot.org/repos/trunk/payloads/libpayload libpayload-source
cd libpayload-source
make menuconfig
make DESTDIR=.. install
cd ..

svn co svn://coreboot.org/repos/trunk/payloads/coreinfo
cd coreinfo

We could also make libpayload an svn:external in the coreinfo dir like
FILO does, dunno which is the better choice on the long run.

http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

More information about the coreboot mailing list