I'm having trouble building the coreinfo payload, at the linking stage.
I've checked out a fresh copy of the coreboot repository from svn. I've then run the following commands:
cd payloads/libpayload/ make menuconfig (accepted defaults) make make install cd ../coreinfo/ make menuconfig (accepted defaults) make
I get the following error:
/.../coreboot/payloads/coreinfo/build/cpuinfo_module.o: In function `cpuinfo_module_init': cpuinfo_module.c:(.text+0x496): undefined reference to `__udivdi3' ../libpayload/install/libpayload/bin/../lib/libpayload.a(timer.o): In function `get_cpu_speed': timer.c:(.text+0x113): undefined reference to `__udivdi3' ../libpayload/install/libpayload/bin/../lib/libpayload.a(timer.o): In function `ndelay': timer.c:(.text+0x1a5): undefined reference to `__udivdi3' ../libpayload/install/libpayload/bin/../lib/libpayload.a(timer.o): In function `udelay': timer.c:(.text+0x202): undefined reference to `__udivdi3' ../libpayload/install/libpayload/bin/../lib/libpayload.a(printf.o): In function `print_number': printf.c:(.text+0x335): undefined reference to `__umoddi3' printf.c:(.text+0x370): undefined reference to `__udivdi3' collect2: ld returned 1 exit status make: *** [/home/andrew/offtime/coreboot/coreboot/payloads/coreinfo/build/coreinfo.elf] Error 1
I'm running Gentoo Linux on an x86_64 machine with no 32-bit libraries, and no kernel support for 32-bit binaries. System gcc is 4.4.3, system ld is 2.20.1.20100303.
Am I doing something wrong? How can I fix this?
On 8/23/10 6:19 AM, Andrew Guertin wrote:
I'm having trouble building the coreinfo payload, at the linking stage.
I've checked out a fresh copy of the coreboot repository from svn. I've then run the following commands:
cd payloads/libpayload/ make menuconfig (accepted defaults) make make install cd ../coreinfo/ make menuconfig (accepted defaults) make
I get the following error:
/.../coreboot/payloads/coreinfo/build/cpuinfo_module.o: In function `cpuinfo_module_init': cpuinfo_module.c:(.text+0x496): undefined reference to `__udivdi3' ../libpayload/install/libpayload/bin/../lib/libpayload.a(timer.o): In function `get_cpu_speed': timer.c:(.text+0x113): undefined reference to `__udivdi3' ../libpayload/install/libpayload/bin/../lib/libpayload.a(timer.o): In function `ndelay': timer.c:(.text+0x1a5): undefined reference to `__udivdi3' ../libpayload/install/libpayload/bin/../lib/libpayload.a(timer.o): In function `udelay': timer.c:(.text+0x202): undefined reference to `__udivdi3' ../libpayload/install/libpayload/bin/../lib/libpayload.a(printf.o): In function `print_number': printf.c:(.text+0x335): undefined reference to `__umoddi3' printf.c:(.text+0x370): undefined reference to `__udivdi3' collect2: ld returned 1 exit status make: *** [/home/andrew/offtime/coreboot/coreboot/payloads/coreinfo/build/coreinfo.elf] Error 1
I'm running Gentoo Linux on an x86_64 machine with no 32-bit libraries, and no kernel support for 32-bit binaries. System gcc is 4.4.3, system ld is 2.20.1.20100303.
Am I doing something wrong? How can I fix this?
It's missing libgcc. You will at least need a 32bit libgcc in your system. I suggest you use the compiler build by the script in util/crossgcc/ however
On 08/23/2010 03:35 AM, Stefan Reinauer wrote:
It's missing libgcc. You will at least need a 32bit libgcc in your system. I suggest you use the compiler build by the script in util/crossgcc/ however
Worked like a charm, thanks.
I'll be writing some more mails about other payloads I'm having trouble with.