Bug 6815

Summary: X won't compile under Fedora Core Rawhide
Product: xorg Reporter: David Hagood <wowbagger>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED INVALID QA Contact:
Severity: critical    
Priority: high    
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description David Hagood 2006-05-02 21:53:27 UTC
Due to X "renaming" certain functions (e.g. memmove) to xf86* (e.g. xf86memmove)
it is not possible to build modular X under Rawhide - the redefinitions cause
compile errors as the signature of functions e.g. memmove is different in
different places in the headers.

This is with a CVS update as of 1 May 2006:

 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module
-DXFree86LOADER -I/tmp/modular/include/xorg -I/tmp/modular/include
-march=athlon-xp -mfpmath=sse,387 -O3 -MT ast_vgatool.lo -MD -MP -MF
.deps/ast_vgatool.Tpo -c ast_vgatool.c  -fPIC -DPIC -o .libs/ast_vgatool.o
In file included from ast.h:23,
                 from ast_vgatool.c:58:
/usr/include/string.h:293: error: conflicting types for 'xf86memmove'
/usr/include/string.h:44: error: previous declaration of 'xf86memmove' was here
/usr/include/string.h:296: error: conflicting types for 'xf86bzero'
/tmp/modular/include/xorg/xf86_ansic.h:295: error: previous declaration of
'xf86bzero' was here
In file included from /usr/include/stdlib.h:438,
                 from ast.h:24,
                 from ast_vgatool.c:58:
/usr/include/sys/types.h:62: error: conflicting types for 'xf86dev_t'
/tmp/modular/include/xorg/xf86_libc.h:87: error: previous declaration of
'xf86dev_t' was here
/usr/include/sys/types.h:110: error: conflicting types for 'xf86ssize_t'
/tmp/modular/include/xorg/xf86_libc.h:86: error: previous declaration of
'xf86ssize_t' was here
In file included from /usr/include/stdlib.h:438,
                 from ast.h:24,
                 from ast_vgatool.c:58:
/usr/include/sys/types.h:151: error: duplicate 'unsigned'
In file included from ast.h:24,
                 from ast_vgatool.c:58:
/usr/include/stdlib.h:445:29: error: macro "random" passed 1 arguments, but
takes just 0
/usr/include/stdlib.h:628:24: error: macro "abort" passed 1 arguments, but takes
just 0
make[2]: *** [ast_vgatool.lo] Error 1
make[2]: Leaving directory `/home/wowbaggr/src/xorg/driver/xf86-video-ast/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/wowbaggr/src/xorg/driver/xf86-video-ast'
make: *** [all] Error 2

Looking at /usr/include/string.h shows the failing lines to only contain
"memmove", not "xf86memmove" - in other words, something in X is #define'ing
"memmove" to be "xf86memmove".
Comment 1 Adam Jackson 2006-05-05 06:38:14 UTC
yum upgrade xorg-x11-server-sdk

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.