Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 634590 - >=x11-base/xorg-server-1.19.3 (no systemd) fails to build with <=sys-fs/eudev-3.2.2
Summary: >=x11-base/xorg-server-1.19.3 (no systemd) fails to build with <=sys-fs/eudev...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
: 635048 655526 (view as bug list)
Depends on: 645280
Blocks: glibc-sysmacros glibc-2.26-stable
  Show dependency tree
 
Reported: 2017-10-17 22:12 UTC by Daniel
Modified: 2018-12-27 20:04 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (file_634590.txt,5.79 KB, text/plain)
2017-10-17 22:12 UTC, Daniel
Details
build log (build.log.bz2,31.55 KB, application/x-bzip)
2017-10-18 18:23 UTC, Daniel
Details
emerge --info xorg-server-1.19.5-r1 (xorg-server-1.19.5-r1-info.bz2,3.04 KB, application/x-bzip)
2017-10-21 15:10 UTC, Daniel
Details
build log xorg-server-1.19.5-r1 (xorg-server-1.19.5-r1-build-log.bz2,28.28 KB, application/x-bzip)
2017-10-21 15:22 UTC, Daniel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel 2017-10-17 22:12:08 UTC
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
Comment 1 Tomáš Mózes 2017-10-18 10:15:39 UTC
Just to be safe,please attach the build log.
Comment 2 Daniel 2017-10-18 18:23:12 UTC
Created attachment 499120 [details]
build log
Comment 3 Ian Stakenvicius (RETIRED) gentoo-dev 2017-10-18 19:31:41 UTC
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?
Comment 4 Andreas K. Hüttel archtester gentoo-dev 2017-10-19 20:18:25 UTC
glibc-2.25-r7 <--- the culprit
Comment 5 Daniel 2017-10-20 08:38:12 UTC
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.
Comment 6 Arfrever Frehtes Taifersar Arahesis 2017-10-21 13:57:14 UTC
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.
Comment 7 Daniel 2017-10-21 15:10:40 UTC
Created attachment 499546 [details]
emerge --info xorg-server-1.19.5-r1
Comment 8 Daniel 2017-10-21 15:22:42 UTC
Created attachment 499548 [details]
build log xorg-server-1.19.5-r1
Comment 9 Daniel 2017-10-21 15:23:24 UTC
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.
Comment 10 josef.95 2017-10-21 17:19:16 UTC
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
Comment 11 Mart Raudsepp gentoo-dev 2017-10-22 13:13:32 UTC
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)
Comment 12 Ian Stakenvicius (RETIRED) gentoo-dev 2017-10-22 15:41:32 UTC
(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?
Comment 13 Pacho Ramos gentoo-dev 2017-12-15 22:26:11 UTC
*** Bug 635048 has been marked as a duplicate of this bug. ***
Comment 14 Ian Moone 2018-04-17 13:41:37 UTC
eudev 3.2.4 is already stable. Shouldn't we close this bug?
Comment 15 Ian Moone 2018-04-17 13:48:40 UTC
Forgive me for the noise, I just noticed that it depend on #645280.
Comment 16 Matt Turner gentoo-dev 2018-05-11 02:10:39 UTC
eudev-3.2.5 is stable everywhere now. Closing.
Comment 17 Matt Turner gentoo-dev 2018-05-11 21:03:31 UTC
*** Bug 655526 has been marked as a duplicate of this bug. ***
Comment 18 Zac Medico gentoo-dev 2018-12-27 20:04:24 UTC
*** Bug 673834 has been marked as a duplicate of this bug. ***