Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 580046

Summary: app-emulation/wine fails to build against sys-libs/glibc-2.23-r1
Product: Gentoo Linux Reporter: jospezial <jospezial>
Component: Current packagesAssignee: Wine Maintainers <wine>
Status: RESOLVED FIXED    
Severity: normal CC: darkcircle.0426, gentoo, wizardedit
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://bugs.winehq.org/show_bug.cgi?id=40473
See Also: https://bugs.winehq.org/show_bug.cgi?id=40473
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 575232    
Attachments: This will eliminate invalid(or undefined) reference for some of macro symbol
This patch is modified from initial one

Description jospezial 2016-04-15 07:52:49 UTC
fd.o: In function `get_device':
fd.c:(.text+0x72d): undefined reference to `major'
collect2: error: ld returned 1 exit status
Makefile:1735: recipe for target 'wineserver-installed' failed
make[1]: *** [wineserver-installed] Error 1
make[1]: Leaving directory '/var/tmp/portage/app-emulation/wine-9999/work/wine-9999-abi_x86_32.x86/server'
Makefile:18665: recipe for target 'server' failed
make: *** [server] Error 2
make: *** Waiting for unfinished jobs....
Comment 1 Amy Liffey gentoo-dev 2016-04-15 15:52:29 UTC
Can you please submit full build.log and emerge --info ?

Thanks
Comment 2 Seong-ho Cho 2016-04-15 21:18:48 UTC
I had exactly the same issue and I found why build is failed at that point and printed error like jospezial's given thing.
'major' is a macro, and it moved from somewhere to sys/sysmacros.h(which is belongs to glibc-2.23), now.
this problem occurs some of file which uses `major` and `minor` macro.

i made simple patch for this issue. I created patch for 1.9.7, and
I tested patch for 1.9.5 and 1.9.7 with glibc-2.23 two times, it worked.
but I'm not sure that this patch is really working on another machine(should be tested).
( please test together ;) )

if you want to test this patch, you may copy patch to under app-emulation/wine/files
and add below line within "local PATCHES" array variable ;)

"${FILESDIR}"/${PN}-1.9.7-glibc-2.23-or-later.patch
Comment 3 Seong-ho Cho 2016-04-15 21:20:46 UTC
Created attachment 430692 [details, diff]
This will eliminate invalid(or undefined) reference for some of macro symbol
Comment 4 Adam Feldman gentoo-dev 2016-04-16 00:22:42 UTC
Thanks for reporting it upstream.  Ideally, I'd like to cherry pick upstream's fix, so I'm going to hold off on using your patch, but thank you very much for the submission.  Much appreciated.
Comment 5 SpanKY gentoo-dev 2016-04-16 00:52:34 UTC
the version checks don't make sense.  only rely on HAVE_SYS_SYSMACROS_H.
Comment 6 SpanKY gentoo-dev 2016-04-16 02:35:37 UTC
actually, since this is an autoconf based project, could you change to using the AC_HEADER_MAJOR macro ?  the autoconf manual describes it:
  https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Particular-Headers.html

could you attach that patch to the upstream bug report ?
Comment 7 Seong-ho Cho 2016-04-16 06:05:32 UTC
Created attachment 430724 [details, diff]
This patch is modified from initial one

Ok, I modified patch working the same thing by following GNU autoconf manual given by SpanKY.
I will also submit this patch into the upstream bugreport.

Thank you for advise.
Comment 8 SpanKY gentoo-dev 2016-04-16 06:30:45 UTC
that looks great.  thanks!
Comment 9 SpanKY gentoo-dev 2016-04-19 07:20:41 UTC
added your fix pushed upstream to the 1.9.7 ebuild:
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b1b569622234f4889d3f1629ff84d0926bd3ad55
Comment 10 Alex Xu (Hello71) 2016-04-19 20:29:14 UTC
*** Bug 580146 has been marked as a duplicate of this bug. ***