Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
glibc 2.23 and undefined reference to `minor' or `major'
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Sun Apr 17, 2016 11:04 pm    Post subject: Reply with quote

Ottre wrote:
I think it's a major selling point of Gentoo that we have developers who care about POSIX.

Hmm, if they "cared about POSIX", it seems to me they'd have listened when I asked them to put ed in @system, for the sake of POSIX.2 compliance OoTB, along with someone else's request for bc (used by kernel-compile.)

Instead we got the usual questioning-around-the-no-brainer followed by "let's not change anything, because thinner stage for embedded" at the time "let's do glib-based stages" was first being mooted. Whereas we can all have huge dependencies imposed on us, because we can use the underlying tools to hack a way out, people doing embedded builds with Gentoo are apparently less capable and cannot even manage emerge -Cq, nor to tar up a stage4, something users have been doing for at least a decade, which is pretty much essential if you're doing reproducible cross-installs. (here's tonne loads of python and perl installed: just not the basics.)
Never mind the existing stages put out for embedded architectures, by their respective arch-teams (who are perfectly capable of deciding what goes in them.)

Forgive me for not being so enthused about Gentoo's commitment to POSIX.[1]

If you think the above doesn't matter (because we have to emerge whatever anyway), that's cool.
I understand the point of view.

To my mind, it means we lose the selling-point of standard scripting capability OoTB.
I certainly found it irritating when working on an installer, that I could not just use ed pre-install (and all my lib functions that use it), without first having the rest setup enough to emerge (ie: from within the chroot, which is quite late in installer-process terms.)
Yes I know about sed -i. For a #bash regular, that's just gack.[2]
Illustrating that it's not as attractive as it could so easily be.

As does the inability to compile a kernel, again without first chrooting and emerging the necessary tool. It's a straightforward loss of flexibility.

Looking at the revert patch above, a better patch to add to glibc would be to namespace the inclusion, as discussed before (which I'd thought they already did, before the removal.)
A BSD coder should not be expecting to use one of the functional macro names, without being aware that they already exist; whilst it could be restricted to _GNU_SOURCE, given that there's no <sys/makedev.h> that would just make porting harder for no reason.[3]

Though again, you'd smoke-test in a tinderbox, not on end-users' machines, and keep any needed patches to other packages locally, at distro level, until upstreams have taken them, and you have the tarballs to prove it.

--
[1] In this case it feels like reaching for pretext, because there doesn't appear to be an understanding of (how glibc avoids) namespace violations.
[2] If that doesn't make any sense, I highly recommend you spend at least 6 months lurking in #bash
Remember that every ebuild and eclass uses bash as the implementation language.
And yeah, I was forced to sed -i some things. (shudder;) That it can be worked around, less robustly, is not a justification; it rather proves the point.
[3] No, not everyone wants to use autoconf; that macro is no excuse for not thinking through the glibc codebase implications, nor for not stepping carefully wrt. other people's systems.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Sun Apr 17, 2016 11:06 pm    Post subject: Reply with quote

Ant P. wrote:
And to balance out my complaining a bit: there's a dev that's earned my respect.

++

Patrick is like the BOFH of Gentoo.. *clickety-click* "You were saying?"
Back to top
View user's profile Send private message
Xywa
Veteran
Veteran


Joined: 23 Jul 2005
Posts: 1587
Location: /mnt/Gentoo/Europe

PostPosted: Mon Apr 25, 2016 11:47 am    Post subject: Reply with quote

Is it this fixed? Can I unmask my glibic now?
Back to top
View user's profile Send private message
archenroot
Apprentice
Apprentice


Joined: 13 Dec 2011
Posts: 204
Location: Lake Macha, Czech republic

PostPosted: Fri Oct 20, 2017 1:05 pm    Post subject: Reply with quote

Hi guys, while searching for current issue I hit this thread here as it looks like discussion about same error here, but 1 year later.

Code:
nc.a ../../mi/.libs/libmi.a ../../os/.libs/libos.a -lcrypto -ldl ../../Xext/.libs/libXvidmode.a -lpciaccess -ldrm -lpixman-1 -lXfont2 -lXau -lxshmfence -lXdmcp -lm -lbsd -pthread
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+0x2f4): undefined reference to `minor'
udev.c:(.text+0x300): undefined reference to `major'
udev.c:(.text+0x334): undefined reference to `minor'
udev.c:(.text+0x340): undefined reference to `major'
udev.c:(.text+0x528): undefined reference to `major'
udev.c:(.text+0x57d): undefined reference to `minor'
common/.libs/libcommon.a(udev.o): In function `config_udev_odev_probe':
udev.c:(.text+0x11af): undefined reference to `minor'
udev.c:(.text+0x11c1): undefined reference to `major'
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:805: Xorg] Error 1
make[4]: Leaving directory '/tmp/portage/x11-base/xorg-server-1.19.4/work/xorg-server-1.19.4_build/hw/xfree86'
make[3]: *** [Makefile:854: all-recursive] Error 1
make[3]: Leaving directory '/tmp/portage/x11-base/xorg-server-1.19.4/work/xorg-server-1.19.4_build/hw/xfree86'
make[2]: *** [Makefile:669: all] Error 2
make[2]: Leaving directory '/tmp/portage/x11-base/xorg-server-1.19.4/work/xorg-server-1.19.4_build/hw/xfree86'
make[1]: *** [Makefile:611: all-recursive] Error 1
make[1]: Leaving directory '/tmp/portage/x11-base/xorg-server-1.19.4/work/xorg-server-1.19.4_build/hw'
make: *** [Makefile:778: all-recursive] Error 1
 * ERROR: x11-base/xorg-server-1.19.4::gentoo failed (compile phase):
 *   emake failed
 *
 * If you need support, post the output of `emerge --info '=x11-base/xorg-server-1.19.4::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=x11-base/xorg-server-1.19.4::gentoo'`.
 * The complete build log is located at '/tmp/portage/x11-base/xorg-server-1.19.4/temp/build.log'.
 * The ebuild environment file is located at '/tmp/portage/x11-base/xorg-server-1.19.4/temp/environment'.
 * Working directory: '/tmp/portage/x11-base/xorg-server-1.19.4/work/xorg-server-1.19.4_build'
 * S: '/tmp/portage/x11-base/xorg-server-1.19.4/work/xorg-server-1.19.4'

>>> Failed to emerge x11-base/xorg-server-1.19.4, Log file:


I am on following glibc version:
Code:
(chroot) livecd ~ # ls /usr/portage/sys-libs/glibc/files/
2.10  2.17  2.18  2.19  2.20  2.25  2.6  nscd  nscd.service  nscd.tmpfilesd  nsswitch.conf
(chroot) livecd ~ # eix -I glibc
[?] sys-libs/glibc
     Available versions:  (2.2) [M]2.17^s [M]2.17^s[1] [M](~)2.18-r1^s [M](~)2.18-r1^s[1] [M](~)2.19^s[1] [M]2.19-r1^s [M]2.19-r1^s[1] [M](~)2.20^s[1] [M]2.20-r2^s [M]2.21-r2^s [M]2.22-r4^s [M]2.23-r3^s 2.23-r4^s (~)2.24-r3^s (~)2.24-r4^s (~)2.25-r2^s (~)2.25-r3^s (~)2.25-r4^s **2.26^s **9999^s
       {audit caps debug gd hardened multilib nscd profile +rpc selinux suid systemtap vanilla CROSSCOMPILE_OPTS="headers-only"}
     Installed versions:  2.25-r7(2.2)^s(03:31:24 PM 10/11/2017)(multilib rpc -audit -caps -debug -gd -hardened -nscd -profile -selinux -suid -systemtap -vanilla CROSSCOMPILE_OPTS="-headers-only")
     Homepage:            https://www.gnu.org/software/libc/libc.html
     Description:         GNU libc6 (also called glibc2) C library

[1] "poly-c" /var/lib/layman/poly-c


The patch you are talking about cannot be found on my system, so not sure how to resolve this issue in the moment, I searched for macros related stuff but no luck:
Code:
(chroot) livecd ~ # locate sysmacros.h
/opt/MATLAB/R2017a/polyspace/verifier/cxx/include/include-libc/sys/sysmacros.h
/opt/MATLAB/R2017a/sys/tcc/linux32/include/sys/sysmacros.h
/usr/include/bits/sysmacros.h
/usr/include/sys/sysmacros.h
/usr/portage/net-misc/spice-gtk/files/spice-gtk-0.33-sys-sysmacros.h.patch
/usr/portage/www-client/seamonkey/files/firefox-Include-sys-sysmacros.h-for-major-minor-when-availab.patch
(chroot) livecd ~ # cat /usr/include/sys/types.h |grep macros
/* It also defines `fd_set' and the FD_* macros for `select'.  */
(chroot) livecd ~ # cd /usr/portage/sys-libs/glibc/
(chroot) livecd /usr/portage/sys-libs/glibc # grep -R macros


could it be that it has been removed even from glibc itself?
_________________
Emperor wants to control outer space Yoda wants to explore inner space that's the fundamental difference between good and bad sides of the Force


Last edited by archenroot on Fri Oct 20, 2017 1:12 pm; edited 1 time in total
Back to top
View user's profile Send private message
archenroot
Apprentice
Apprentice


Joined: 13 Dec 2011
Posts: 204
Location: Lake Macha, Czech republic

PostPosted: Fri Oct 20, 2017 1:06 pm    Post subject: Reply with quote

Ok, so staying on x11-base/xorg-server-1.19.3 version is fine, so for now, don't upgrade.
_________________
Emperor wants to control outer space Yoda wants to explore inner space that's the fundamental difference between good and bad sides of the Force
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3694
Location: Germany

PostPosted: Fri Oct 20, 2017 5:44 pm    Post subject: Reply with quote

@archenroot
that is probably a eudev issue.
See Bug 634590
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum