[coreboot] coreinfo: `make` fails due to `error: conflicting types for ‘size_t’`

Aaron Durbin adurbin at google.com
Wed Mar 27 18:20:37 CET 2013


On Wed, Mar 27, 2013 at 12:16 PM, Paul Menzel
<paulepanter at users.sourceforge.net> wrote:
> Am Mittwoch, den 27.03.2013, 12:03 -0500 schrieb Aaron Durbin:
>> 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 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).
>
> Nice. Could you push it to Gerrit for review or as an easy way for
> others to get/test/use it.
>

http://review.coreboot.org/#/c/2932/



More information about the coreboot mailing list