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

Bug 43505

Summary: xfree-4.3.0-r5 compile error during emerge - 3 users so far
Product: Gentoo Linux Reporter: Phillip Franks <phil>
Component: New packagesAssignee: Gentoo X packagers <x11>
Status: RESOLVED DUPLICATE    
Severity: major CC: pvdabeel
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: http://forums.gentoo.org/viewtopic.php?p=917841#917841
Whiteboard:
Package list:
Runtime testing required: ---

Description Phillip Franks 2004-03-02 13:06:13 UTC
emerge xfree on a fresh stage1 (PPC, kernel 2.6, gcc3.2.3-r4) install gives the following error:

gcc -c -O3 -O3 -O3 -O3 -pipe -mcpu=750 -fsigned-char   -I../common -I../scanpci -I../loader -I../../../../../programs/Xserver/hw/xfree86/os-support             -I../../../../../programs/Xserver/include -I../../../../../exports/include/X11  -I../../../../../lib/font/include  -I../../../../.. -I../../../../../exports/include   -Dlinux -D__powerpc__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE  -D_GNU_SOURCE   -DFUNCPROTO=15 -DNARROWPROTO   -DXF86CONFIG=\"XF86Config\" -DUSE_MODULES            -DHAS_NCURSES          -DPROJECT_ROOT=\"/usr/X11R6\"            -DXF86CONFIGDIR=\"/etc/X11\"   text-mode.c
In file included from text-mode.c:47:
loader.h:78: unnamed fields of type other than struct or union are not allowed
make[5]: *** [text-mode.o] Error 1
make[5]: Leaving directory `/var/tmp/portage/xfree-4.3.0-r5/work/xc/programs/Xserver/hw/xfree86/xf86cfg'
make[4]: *** [all] Error 2
make[4]: Leaving directory `/var/tmp/portage/xfree-4.3.0-r5/work/xc/programs/Xserver/hw/xfree86'
make[3]: *** [hw/xfree86] Error 2
make[3]: Leaving directory `/var/tmp/portage/xfree-4.3.0-r5/work/xc/programs/Xserver'
make[2]: *** [install] Error 2
make[2]: Leaving directory `/var/tmp/portage/xfree-4.3.0-r5/work/xc/programs'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/var/tmp/portage/xfree-4.3.0-r5/work/xc'
make: *** [install] Error 2

!!! ERROR: x11-base/xfree-4.3.0-r5 failed.
!!! Function src_install, Line 623, Exitcode 2
!!! (no error message)


This ebuild was last updated on 3/1/2004. I believe it was working for me before then.  3 separate cases so far (2 on PPC, one on x86). See
http://forums.gentoo.org/viewtopic.php?p=917841#917841

Please ask if more info required :)

Reproducible: Always
Steps to Reproduce:
1. Fresh Gentoo install with latest/yesterdays portage tree
2. emerge xfree
3. wait about an hour (for me anyways!)

Actual Results:  
Compile time error:

In file included from text-mode.c:47:
loader.h:78: unnamed fields of type other than struct or union are not allowed
make[5]: *** [text-mode.o] Error 1
make[5]: Leaving directory
`/var/tmp/portage/xfree-4.3.0-r5/work/xc/programs/Xserver/hw/xfree86/xf86cfg'

and emerge terminates


Don't have network connection for laptop in work, typing this...

Portage 2.0.50-r1 (default-ppc-1.4, gcc-3.2.3, glibc-2.3.2-r9, 2.6.1-benh)
=================================================================
System uname: 2.6.1-benh1 ppc 7457, altivec supported
Gentoo Base System version 1.4.3.13
autoconf-2.58-r1
automake-1.7.8
ACCEPT_KEYWORDS="ppc"

CFLAGS="-O2 -pipe -mcpu=7450 -maltivec -mabi=altivec"
...

emerge -pv xfree :
[ebuild N  ] x11-base/xfree-4.3.0-r5  -(3dfx) -(3dnow) -bindist -cjk -debug -doc
-ipv6 -(mmx) +nls +pam -sdk -(sse) -static +truetype -xml2
Comment 1 Phillip Franks 2004-03-02 13:09:26 UTC
ooops, hit wrong page in browser and re-added prviously created bug. This is dup of 43491 - sorry guys :-[

*** This bug has been marked as a duplicate of 43491 ***
Comment 2 Pieter Van den Abeele (RETIRED) gentoo-dev 2004-03-06 08:24:29 UTC
*** Bug 43877 has been marked as a duplicate of this bug. ***
Comment 3 Coleman Kane 2004-04-04 14:57:19 UTC
I also have experienced this problem. This arises because the text-mode xf86cfg tool builds against ncurses. Ncurses defined a veriable type 'bool' for boolean variables. In the xc/programs/Xserver/hw/xfree86/xf86cfg/loader.h file, included by text-mode.c which also includes ncurses.h, there is a defined union ValueUnion with a member named 'bool' of type 'Bool'. GCC interprets this as an unnamed member of type 'Bool bool' and promptly barfs. I am not going to argue about how ridiculous it is for xfree86 to define a variable named 'bool', rather
than simply 'boolean_var' or something similar. This value is not used anywhere else in the xf86cfg code, and the loader.h is only included there. It is safe to rename the union's 'bool' variable, or maybe remove it alltogether. I renamed it to 'b' and xf86cfg built and ran fine (in text mode, no less).