After switching profiles from gnome-systemd to systemd, I attempted to perform an emptytree re-compilation of @system and got an error when I hit coreutils. I'm not sure if the profile switch was the culprit, or if perhaps it would have happened sooner if I had attempted an empty-tree rebuild. ... CCLD src/chcon lib/libcoreutils.a(mountlist.o): In function `read_file_system_list': mountlist.c:(.text+0x2ae): undefined reference to `makedev' collect2: error: ld returned 1 exit status Makefile:7698: recipe for target 'src/df' failed make[2]: *** [src/df] Error 1 make[2]: *** Waiting for unfinished jobs.... CCLD src/chgrp CCLD src/chmod make[2]: Leaving directory '/var/tmp/portage/sys-apps/coreutils-8.25/work/coreutils-8.25' Makefile:11298: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/sys-apps/coreutils-8.25/work/coreutils-8.25' Makefile:5844: recipe for target 'all' failed make: *** [all] Error 2 Reproducible: Always Steps to Reproduce: 1. Switch profiles from gnome-systemd to systemd (possibly) 2. Attempt `emerge -e @system` Actual Results: The build of coreutils fails with the following error: ... CCLD src/chcon lib/libcoreutils.a(mountlist.o): In function `read_file_system_list': mountlist.c:(.text+0x2ae): undefined reference to `makedev' collect2: error: ld returned 1 exit status Makefile:7698: recipe for target 'src/df' failed make[2]: *** [src/df] Error 1 make[2]: *** Waiting for unfinished jobs.... CCLD src/chgrp CCLD src/chmod make[2]: Leaving directory '/var/tmp/portage/sys-apps/coreutils-8.25/work/coreutils-8.25' Makefile:11298: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/sys-apps/coreutils-8.25/work/coreutils-8.25' Makefile:5844: recipe for target 'all' failed make: *** [all] Error 2 Expected Results: I am able to get through an empty-tree rebuild without any errors. Running: * Chrome * Gnome (and all the stuff that comes with it) * Gnome-terminal * Evolution
Created attachment 430518 [details] Coreutils environment Coreutils environment
Created attachment 430520 [details] Coreutils build Coreutils build
Created attachment 430522 [details] Coreutils pqv Coreutils pqv
Created attachment 430524 [details] Coreutils info Coreutils info
Confirmed here with glibc-2.23-r1
It looks like the definition of makedev was moved to sys/sysmacros.h. Whether that mens that sys/types.h should include sysmacros.h or if coreutils should include it, I don't know.
the coreutils guys had discussed this on the mailing list and said it shouldn't be a problem, but i guess i didn't check it explicitly myself
*** Bug 580068 has been marked as a duplicate of this bug. ***
patch sent upstream and fix in 8.25 ebuild: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=74ca4a1e0ebd5a86cd91442851b93829645dd674