Created attachment 499032 [details] emerge --info since xorg-server-1.19.4, build fails with the current stable eudev, with >=eudev-3.2.4, it works. build log: common/.libs/libcommon.a(udev.o): In function `device_removed': udev.c:(.text+0x10c): undefined reference to `minor' udev.c:(.text+0x119): undefined reference to `major' common/.libs/libcommon.a(udev.o): In function `device_added': udev.c:(.text+0x2f6): undefined reference to `minor' udev.c:(.text+0x302): undefined reference to `major' udev.c:(.text+0x337): undefined reference to `minor' udev.c:(.text+0x343): undefined reference to `major' udev.c:(.text+0x534): undefined reference to `major' udev.c:(.text+0x582): undefined reference to `minor' common/.libs/libcommon.a(udev.o): In function `config_udev_odev_probe': udev.c:(.text+0x11df): undefined reference to `minor' udev.c:(.text+0x11f1): undefined reference to `major' collect2: error: ld returned 1 exit status
Just to be safe,please attach the build log.
Created attachment 499120 [details] build log
I just did a diff between eudev 3.2.2 and 3.2.4 , the only difference I see in the code relates to adding a 'replace_whitespace' variable to udev_event_apply_format() and a few changes to the ATA device naming. Neither of these seem to have any reference to major,minor .. i have a feeling this is glibc or toolchain related.. Have you reinstalled eudev-3.2.2 and retried xorg-server afterwards? Still fails?
glibc-2.25-r7 <--- the culprit
Here, the problem came between eudev 3.1.5 and 3.2.2. However, I can't seem to revert to 3.1.5 because I keep getting the same 'undefined reference to minor/major' during its build. So I kinda admit that it might not be related to eudev after all.
Problem is supposed to have been fixed by xorg-server-...-sysmacros.patch which was reintroduced in: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f03b7d078f9f8b855ec61c802e5b64edb11f599 Your 'emerge --info' says: Timestamp of repository gentoo: Tue, 17 Oct 2017 18:45:01 +0000 Head commit of repository gentoo: 7517e0d93b740467bcb6b7731ebd9988372aa33e As of then, this patch should be applied: https://gitweb.gentoo.org/repo/gentoo.git/tree/x11-base/xorg-server/xorg-server-1.19.4.ebuild?id=7517e0d93b740467bcb6b7731ebd9988372aa33e#n147 But your build log does NOT show this patch being applied. Please investigate if you have some local problem.
Created attachment 499546 [details] emerge --info xorg-server-1.19.5-r1
Created attachment 499548 [details] build log xorg-server-1.19.5-r1
I could just reproduce it: With eudev-3.1.5, emerge xorg-server-1.19.5-r1 fails, see new build log and info. With eudev-3.2.4, xorg-server builds fine.
Daniel, from your build.log FEATURES: ccache preserve-libs sandbox userpriv usersandbox >>> Unpacking source... >>> Unpacking xorg-server-1.19.5.tar.bz2 to /var/tmp/portage/x11-base/xorg-server-1.19.5-r1/work Please try it without ccache
As said in https://bugs.gentoo.org/633530#c13 - this is probably just a duplicate of bug 634062 in some way. Like eudev is built with weak linking to minor/major instead of gnu_dev_minor/gnu_dev_major (from the sysmacros.h having such a #define or so) and then things blow up when something actually links to the udev library? nm -D /usr/lib/libudev.so |grep major could be revealing (though on systemd it doesn't even use major/minor at all, so meh)
(In reply to Mart Raudsepp from comment #11) > As said in https://bugs.gentoo.org/633530#c13 - this is probably just a > duplicate of bug 634062 in some way. Like eudev is built with weak linking > to minor/major instead of gnu_dev_minor/gnu_dev_major (from the sysmacros.h > having such a #define or so) and then things blow up when something actually > links to the udev library? nm -D /usr/lib/libudev.so |grep major could be > revealing (though on systemd it doesn't even use major/minor at all, so meh) Looks like we just need to backport eudev commit d3aab3bde9 to versions prior to 3.2.1. Alternatively, 3.2.4 stabilization would likely suffice? blueness, what would you prefer?
*** Bug 635048 has been marked as a duplicate of this bug. ***
eudev 3.2.4 is already stable. Shouldn't we close this bug?
Forgive me for the noise, I just noticed that it depend on #645280.
eudev-3.2.5 is stable everywhere now. Closing.
*** Bug 655526 has been marked as a duplicate of this bug. ***
*** Bug 673834 has been marked as a duplicate of this bug. ***