Bug 12595 - grub-efi-native failed do_compile on morty-next x86-lsb
Summary: grub-efi-native failed do_compile on morty-next x86-lsb
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 2.2.4
Hardware: x86 Multiple
: Medium normal
Target Milestone: 2.2.4
Assignee: Maxin B. John
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2018-03-12 11:37 UTC by California Sullivan
Modified: 2018-03-22 08:03 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments
grub-efi-native do_compile (190.98 KB, text/plain)
2018-03-12 11:37 UTC, California Sullivan
no flags Details
backport (3.82 KB, patch)
2018-03-20 04:39 UTC, Maxin B. John
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description California Sullivan 2018-03-12 11:37:21 UTC
Created attachment 4231 [details]
grub-efi-native do_compile

This is with the Fedora 26 AB.

https://autobuilder.yocto.io/builders/nightly-x86-lsb/builds/862/steps/BuildImages_1/logs/stdio


It looks similar to bug 12520:

| ../grub-2.00/util/raid.c: In function 'grub_util_raid_getmembers':
| ../grub-2.00/util/raid.c:91:13: error: In the GNU C Library, "makedev" is defined
|  by <sys/sysmacros.h>. For historical compatibility, it is
|  currently defined by <sys/types.h> as well, but we plan to
|  remove this soon. To use "makedev", include <sys/sysmacros.h>
|  directly. If you did not intend to use a system-defined macro
|  "makedev", you should undefine it after including <sys/types.h>. [-Werror]
|         makedev (disk.major, disk.minor));
|              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| ERROR: oe_runmake failed

But also:
| ../grub-2.00/util/getroot.c: In function 'grub_util_biosdisk_is_floppy':
| ../grub-2.00/util/getroot.c:1631:13: error: In the GNU C Library, "major" is defined
|  by <sys/sysmacros.h>. For historical compatibility, it is
|  currently defined by <sys/types.h> as well, but we plan to
|  remove this soon. To use "major", include <sys/sysmacros.h>
|  directly. If you did not intend to use a system-defined macro
|  "major", you should undefine it after including <sys/types.h>. [-Werror]
|    if (major(st.st_rdev) == FLOPPY_MAJOR)
|              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Comment 1 Maxin B. John 2018-03-20 04:39:23 UTC
Created attachment 4238 [details]
backport

Couldn't manage to recreate this error on a Fedora 22 machine. Similar bug was fixed in upstream and backported that fix for morty-next. Need to verify this on a Fedora 26 build machine.
Comment 2 Maxin B. John 2018-03-22 01:51:14 UTC
Tested successfully in Fedora 26 (using docker) and sent to mailing list:
http://lists.openembedded.org/pipermail/openembedded-core/2018-March/149087.html