[coreboot] coreinfo: `make` fails due to `error: conflicting types for ‘size_t’`
Aaron Durbin
adurbin at google.com
Wed Mar 27 18:03:53 CET 2013
On Wed, Mar 27, 2013 at 8:17 AM, Aaron Durbin <adurbin at google.com> wrote:
> On Wed, Mar 27, 2013 at 7:51 AM, Paul Menzel
> <paulepanter at users.sourceforge.net> wrote:
>> Dear coreboot folks,
>>
>>
>> with latest master (and a workaround for PDCurses warning)
>>
>> commit 3cc0d1eb3f611cb7bf0e45d8ccdb0c84f54f54dc
>> Author: David Hendricks <dhendrix at chromium.org>
>> Date: Tue Mar 26 16:28:21 2013 -0700
>>
>> exynos5250: assign RAM resources in cpu_init()
>>
>> Reviewed-on: http://review.coreboot.org/2923
>>
>> the payload coreinfo does not build anymore.
>>
>> /src/coreboot/payloads/coreinfo(master) $ make distclean
>> /src/coreboot/payloads/coreinfo(master) $ rm -rf libpayloadbin/
>> /src/coreboot/payloads/coreinfo(master) $ make
>> *
>> * coreinfo Configuration
>> *
>> *
>> * General settings
>> *
>> Show current date/time in the menu (SHOW_DATE_TIME) [Y/n/?] (NEW)
>> Payload name (PAYLOAD_INFO_NAME) [coreinfo] (NEW)
>> Payload menu entry name (PAYLOAD_INFO_LISTNAME) [System Information] (NEW)
>> Payload description (PAYLOAD_INFO_DESC) [Display information about the system] (NEW)
>> Payload version (PAYLOAD_INFO_VERSION) [0.1] (NEW)
>> *
>> * Modules
>> *
>> Enable the coreboot module (MODULE_COREBOOT) [Y/n/?] (NEW)
>> Enable the multiboot module (MODULE_MULTIBOOT) [Y/n/?] (NEW)
>> Enable the cpuinfo module (MODULE_CPUINFO) [Y/n/?] (NEW)
>> Enable the PCI info module (MODULE_PCI) [Y/n/?] (NEW)
>> Enable the NVRAM dump module (MODULE_NVRAM) [Y/n/?] (NEW)
>> Enable the coreboot bootlog module (MODULE_BOOTLOG) [Y/n] (NEW)
>> Enable the RAM dump module (MODULE_RAMDUMP) [Y/n] (NEW)
>> Enable the coreboot v3 LAR module (MODULE_LAR) [N/y/?] (NEW)
>> Enable the coreboot CBFS module (MODULE_CBFS) [Y/n/?] (NEW)
>> #
>> # configuration written to .config
>> #
>> /src/coreboot/payloads/coreinfo(master) $ make
>> Building libpayload @ ../libpayload.
>> Warning: no suitable GCC for armv7.
>> /bin/sh: -print-libgcc-file-name: Kommando nicht gefunden.
>> /bin/sh: -print-libgcc-file-name: Kommando nicht gefunden.
>> /bin/sh: --: Ungültige Option
>> Benutzung: /bin/sh [Lange GNU Option] [Option] ...
>> /bin/sh [Lange GNU Option] [Option] Script-Datei ...
>> Lange GNU Optionen:
>> --debug
>> --debugger
>> --dump-po-strings
>> --dump-strings
>> --help
>> --init-file
>> --login
>> --noediting
>> --noprofile
>> --norc
>> --posix
>> --protected
>> --rcfile
>> --restricted
>> --verbose
>> --version
>> Shell-Optionen:
>> -irsD oder -c Kommando (Nur Aufruf)
>> -abefhkmnptuvxBCHP oder Option -o
>> *** Default configuration is based on 'configs/defconfig'
>> *
>> * libpayload Configuration
>> *
>> *
>> * Generic Options
>> *
>> Experimental Options (EXPERIMENTAL) [N/y/?] n
>> Obsolete Options (OBSOLETE) [N/y/?] n
>> Developer Options (DEVELOPER) [N/y/?] n
>> ChromeOS specific features (CHROMEOS) [N/y/?] n
>> *
>> * Architecture Options
>> *
>> Target Architecture
>> 1. ARMv7 (ARCH_ARMV7)
>> 2. PowerPC (ARCH_POWERPC)
>> > 3. x86 (ARCH_X86)
>> choice[1-3]: 3
>> Only consider RAM entries in memory map for further processing (MEMMAP_RAM_ONLY) [N/y] n
>> Multiboot header support (MULTIBOOT) [N/y] n
>> *
>> * Standard Libraries
>> *
>> Enable C library support (LIBC) [Y/n] y
>> Build a curses library (CURSES) [Y/n] y
>> Curses implementation
>> 1. Tinycurses (TINYCURSES)
>> > 2. PDCurses (PDCURSES)
>> choice[1-2]: 2
>> CBFS support (CBFS) [Y/n/?] y
>> LZMA decoder (LZMA) [Y/n/?] y
>> *
>> * Console Options
>> *
>> Skip initializing the consoles at startup (SKIP_CONSOLE_INIT) [N/y/?] n
>> Send output to the in memory CBMEM console (CBMEM_CONSOLE) [Y/n] y
>> See output on the serial port console (SERIAL_CONSOLE) [Y/n] y
>> I/O base for the serial port (default 0x3f8) (SERIAL_IOBASE) [0x3f8] 0x3f8
>> Override the serial console baud rate (SERIAL_SET_SPEED) [N/y] n
>> Use plain ASCII characters for ACS (SERIAL_ACS_FALLBACK) [N/y/?] n
>> See output on a video console (VIDEO_CONSOLE) [Y/n] y
>> VGA video console driver (VGA_VIDEO_CONSOLE) [Y/n] y
>> Geode LX video console driver (GEODELX_VIDEO_CONSOLE) [N/y] n
>> coreboot video console driver (COREBOOT_VIDEO_CONSOLE) [Y/n/?] y
>> Allow input from a PC keyboard (PC_KEYBOARD) [Y/n] y
>> English (US) keyboard layout (PC_KEYBOARD_LAYOUT_US) [Y/n] y
>> German keyboard layout (PC_KEYBOARD_LAYOUT_DE) [N/y] n
>> *
>> * Drivers
>> *
>> Support for PCI devices (PCI) [Y/n] y
>> Support for reading/writing NVRAM bytes (NVRAM) [Y/n] y
>> Extended RTC ports are 0x74/0x75 (RTC_PORT_EXTENDED_VIA) [N/y/?] n
>> Support for PC speaker (SPEAKER) [Y/n] y
>> Support for storage devices (STORAGE) [Y/n/?] y
>> Use 64-bit integers to address sectors (STORAGE_64BIT_LBA) [N/y/?] n
>> Support ATA drives (i.e. hard drives) (STORAGE_ATA) [Y/?] y
>> Support ATAPI drives (i.e. optical drives) (STORAGE_ATAPI) [Y/n/?] y
>> Support for AHCI host controllers (STORAGE_AHCI) [Y/n/?] y
>> Only enable tested controllers (STORAGE_AHCI_ONLY_TESTED) [Y/n/?] y
>> USB Support (USB) [Y/n] y
>> Support for USB UHCI controllers (USB_UHCI) [Y/n/?] y
>> Support for USB OHCI controllers (USB_OHCI) [Y/n/?] y
>> Support for USB EHCI controllers (USB_EHCI) [Y/n/?] y
>> Support for USB xHCI controllers (USB_XHCI) [Y/n/?] y
>> Support for USB keyboards (USB_HID) [Y/n/?] y
>> Support for USB hubs (USB_HUB) [Y/n/?] y
>> Support for USB storage (USB_MSC) [Y/n/?] y
>> #
>> # configuration written to .config
>> #
>> CC libpci/libpci.libpci.o
>> AR build/libpci.a
>> CC arch/x86/main.libc.o
>> CC arch/x86/sysinfo.libc.o
>> CC arch/x86/timer.libc.o
>> CC arch/x86/coreboot.libc.o
>> CC arch/x86/util.libc.o
>> CC arch/x86/exec.libc.o
>> CC arch/x86/virtual.libc.o
>> CC arch/x86/string.libc.o
>> CC crypto/sha1.libc.o
>> CC libc/malloc.libc.o
>> CC libc/printf.libc.o
>> CC libc/console.libc.o
>> CC libc/string.libc.o
>> CC libc/memory.libc.o
>> CC libc/ctype.libc.o
>> CC libc/ipchecksum.libc.o
>> CC libc/lib.libc.o
>> CC libc/rand.libc.o
>> CC libc/time.libc.o
>> CC libc/exec.libc.o
>> CC libc/readline.libc.o
>> CC libc/getopt_long.libc.o
>> CC libc/sysinfo.libc.o
>> CC libc/args.libc.o
>> CC libc/strings.libc.o
>> CC libc/strlcpy.libc.o
>> CC libc/qsort.libc.o
>> CC drivers/pci.libc.o
>> CC drivers/speaker.libc.o
>> CC drivers/serial.libc.o
>> CC drivers/keyboard.libc.o
>> CC drivers/cbmem_console.libc.o
>> CC drivers/nvram.libc.o
>> CC drivers/options.libc.o
>> CC drivers/video/video.libc.o
>> CC drivers/video/vga.libc.o
>> CC drivers/video/corebootfb.libc.o
>> CC drivers/video/font8x16.libc.o
>> CC drivers/storage/storage.libc.o
>> CC drivers/storage/ata.libc.o
>> CC drivers/storage/atapi.libc.o
>> CC drivers/storage/ahci.libc.o
>> CC drivers/usb/usbinit.libc.o
>> CC drivers/usb/usb.libc.o
>> CC drivers/usb/usb_dev.libc.o
>> CC drivers/usb/quirks.libc.o
>> CC drivers/usb/usbhub.libc.o
>> CC drivers/usb/uhci.libc.o
>> CC drivers/usb/uhci_rh.libc.o
>> CC drivers/usb/ohci.libc.o
>> CC drivers/usb/ohci_rh.libc.o
>> CC drivers/usb/ehci.libc.o
>> CC drivers/usb/ehci_rh.libc.o
>> CC drivers/usb/xhci.libc.o
>> CC drivers/usb/xhci_rh.libc.o
>> CC drivers/usb/usbhid.libc.o
>> CC drivers/usb/usbmsc.libc.o
>> CC drivers/hid.libc.o
>> AR build/libc.a
>> CC curses/pdcurses-backend/pdcdisp.libcurses.o
>> CC curses/pdcurses-backend/pdcgetsc.libcurses.o
>> CC curses/pdcurses-backend/pdckbd.libcurses.o
>> CC curses/pdcurses-backend/pdcscrn.libcurses.o
>> CC curses/pdcurses-backend/pdcsetsc.libcurses.o
>> CC curses/pdcurses-backend/pdcutil.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/addch.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/move.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/overlay.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/refresh.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/terminfo.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/window.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/util.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/inopts.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/addstr.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/keyname.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/instr.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/clear.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/addchstr.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/kernel.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/pad.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/insstr.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/border.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/getyx.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/getstr.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/getch.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/termattr.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/outopts.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/color.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/deleteln.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/initscr.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/slk.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/delch.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/touch.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/mouse.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/scanw.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/scroll.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/printw.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/bkgd.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/inch.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/attr.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/insch.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/inchstr.libcurses.o
>> CC curses/PDCurses-3.4/pdcurses/beep.libcurses.o
>> AR build/libcurses.a
>> CC curses/menu/m_req_name.libmenu.o
>> CC curses/menu/m_item_nam.libmenu.o
>> CC curses/menu/m_pad.libmenu.o
>> CC curses/menu/m_cursor.libmenu.o
>> CC curses/menu/m_item_new.libmenu.o
>> CC curses/menu/m_attribs.libmenu.o
>> CC curses/menu/m_item_opt.libmenu.o
>> CC curses/menu/m_format.libmenu.o
>> CC curses/menu/m_post.libmenu.o
>> CC curses/menu/m_userptr.libmenu.o
>> CC curses/menu/m_item_cur.libmenu.o
>> CC curses/menu/m_driver.libmenu.o
>> CC curses/menu/m_sub.libmenu.o
>> CC curses/menu/m_win.libmenu.o
>> CC curses/menu/m_global.libmenu.o
>> CC curses/menu/m_item_vis.libmenu.o
>> CC curses/menu/m_new.libmenu.o
>> CC curses/menu/m_scale.libmenu.o
>> CC curses/menu/m_spacing.libmenu.o
>> CC curses/menu/m_opts.libmenu.o
>> CC curses/menu/m_pattern.libmenu.o
>> CC curses/menu/m_item_val.libmenu.o
>> CC curses/menu/m_hook.libmenu.o
>> CC curses/menu/m_item_use.libmenu.o
>> CC curses/menu/m_items.libmenu.o
>> CC curses/menu/m_item_top.libmenu.o
>> AR build/libmenu.a
>> CC curses/form/frm_page.libform.o
>> CC curses/form/frm_opts.libform.o
>> CC curses/form/frm_def.libform.o
>> CC curses/form/frm_req_name.libform.o
>> CC curses/form/fty_alpha.libform.o
>> CC curses/form/frm_driver.libform.o
>> CC curses/form/fld_user.libform.o
>> CC curses/form/frm_win.libform.o
>> CC curses/form/fld_newftyp.libform.o
>> CC curses/form/fld_stat.libform.o
>> CC curses/form/fld_pad.libform.o
>> CC curses/form/fld_current.libform.o
>> CC curses/form/frm_post.libform.o
>> CC curses/form/fty_generic.libform.o
>> CC curses/form/fld_page.libform.o
>> CC curses/form/frm_hook.libform.o
>> CC curses/form/frm_scale.libform.o
>> CC curses/form/fty_int.libform.o
>> CC curses/form/fty_alnum.libform.o
>> CC curses/form/frm_cursor.libform.o
>> CC curses/form/fld_link.libform.o
>> CC curses/form/fld_arg.libform.o
>> CC curses/form/fld_move.libform.o
>> CC curses/form/fld_def.libform.o
>> CC curses/form/fld_type.libform.o
>> CC curses/form/fld_max.libform.o
>> CC curses/form/fld_ftlink.libform.o
>> CC curses/form/fld_ftchoice.libform.o
>> CC curses/form/fld_info.libform.o
>> CC curses/form/frm_user.libform.o
>> CC curses/form/frm_sub.libform.o
>> CC curses/form/fty_enum.libform.o
>> CC curses/form/frm_data.libform.o
>> CC curses/form/fld_opts.libform.o
>> CC curses/form/fld_attr.libform.o
>> CC curses/form/fld_dup.libform.o
>> CC curses/form/fld_just.libform.o
>> AR build/libform.a
>> CC curses/PDCurses-3.4/pdcurses/panel.libpanel.o
>> AR build/libpanel.a
>> CC arch/x86/rom_media.libcbfs.o
>> CC libcbfs/cbfs.libcbfs.o
>> CC libcbfs/ram_media.libcbfs.o
>> AR build/libcbfs.a
>> CC liblzma/lzma.liblzma.o
>> AR build/liblzma.a
>> AR build/libpayload.a
>> CC arch/x86/head.head.o.o
>> CP build/head.o
>> INSTALL /src/coreboot/payloads/coreinfo/./libpayloadbin/libpayload/lib
>> INSTALL /src/coreboot/payloads/coreinfo/./libpayloadbin/libpayload/include
>> INSTALL /src/coreboot/payloads/coreinfo/./libpayloadbin/libpayload/bin
>> LPCC build/cpuinfo_module.o
>> In file included from ./libpayloadbin/libpayload/bin/../include/libpayload.h:54:0,
>> from /src/coreboot/payloads/coreinfo/coreinfo.h:23,
>> from /src/coreboot/payloads/coreinfo/cpuinfo_module.c:23:
>> ./libpayloadbin/libpayload/bin/../include/x86/arch/types.h:56:23: error: conflicting types for ‘size_t’
>> In file included from ./libpayloadbin/libpayload/bin/../include/libpayload.h:49:0,
>> from /src/coreboot/payloads/coreinfo/coreinfo.h:23,
>> from /src/coreboot/payloads/coreinfo/cpuinfo_module.c:23:
>> /usr/lib/gcc/i486-linux-gnu/4.7/include/stddef.h:213:23: note: previous declaration of ‘size_t’ was here
>> make: *** [/src/coreboot/payloads/coreinfo/build/cpuinfo_module.o] Fehler 1
>>
>> Any idea how to fix that?
>
> I really think libpayload shouldn't be built including the system
> header files and that it should provide its own. That or completely
> rely on system header files which brings in its own issues. Build with
> -nostdinc and provide all the necessary bits that are required in
> libpayload proper by way of its own header files.
>
> I'm not sure what others think, but it means libpayload is in control of itself.
I have a temporary fix on its way. I'm not happy with it, but it
should avoid the issues you and others are seeing (including myself).
-Aaron
More information about the coreboot
mailing list