Xorg 6.9/7.0 compile failure

Kevin Day drealin01 at cox.net
Mon Jan 9 01:20:30 PST 2006


On Mon, 9 Jan 2006 12:07:22 +0000
Declan Moriarty <junk_mail at iol.ie> wrote:

> 
> I get to programs/Xserver/hw/xfree86/os-support/linux/lnx_agp.c
> 
> rm -f lnx_agp.o
> gcc -m32 -c -O2 -fno-strength-reduce         -fno-strict-aliasing
> -march=i686 -ansi -Wall -Wpointer-arith -Wundef
> -I../../../../../../programs/Xserver/hw/xfree86/common
> -I../../../../../../programs/Xserver/hw/xfree86/os-support -I.
> -I../../../../../../programs/Xserver/include
> -I../../../../../../exports/include/X11
> -I../../../../../../include/extensions
> -I../../../../../../programs/Xserver/hw/xfree86/os-support/shared
> -I../../../../../../programs/Xserver/hw/xfree86/os-support/bus
> -I../../../../../../extras/drm/shared-core  -I../../../../../..
> -I../../../../../../exports/include   -Dlinux -D__i386__
> -D_POSIX_C_SOURCE=199309L
> -D_POSIX_SOURCE -D_XOPEN_SOURCE
> -D_BSD_SOURCE -D_SVID_SOURCE
>  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -D_GNU_SOURCE
>                  -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP
> -DXCSECURITY -DTOGCUP   -DXF86BIGFONT -DDPMSExtension
> -DXPRINT -DPIXPRIV -DPANORAMIX   -DRENDER -DRANDR       -DXFIXES
> -DDAMAGE -DCOMPOSITE -DXEVIE        -DGCCUSESGAS -DAVOID_GLYPHBLT
> -DPIXPRIV -DSINGLEDEPTH
>         -DXFreeXDGA -DXvExtension
> -DXFree86LOADER -DDLOPEN_HACK -DXFree86Server
> -DXF86VIDMODE                           -DXvMCExtension
>                                 -DSMART_SCHEDULE
> -DBUILDDEBUG -DXResExtension
> -DX_BYTE_ORDER=X_LITTLE_ENDIAN
> -DXORG_VERSION_CURRENT="(((6) * 10000000) + ((9) * 100000) + ((0)
> * 1000) + 0)" -DNDEBUG   -DFUNCPROTO=15 -DNARROWPROTO
> * -DHAS_MTRR_SUPPORT -DUSESTDRES  -DDO_OS_FONTRESTORE
> * -DCHECK_OS_VERSION=1 -DHAVE_SYSV_IPC   lnx_agp.c
> In file included from lnx_agp.c:24:
> /usr/include/linux/agpgart.h:55: error: parse error before "__u16"
> /usr/include/linux/agpgart.h:60: error: field `version' has
> incomplete type
> /usr/include/linux/agpgart.h:61: error: parse error before "__u32"
> 
> etc. I get a string of syntax errors, whatever version of
> agpgart.h is in /usr/include/linux, whatever way I try it. The
> compiler can't parse it. I'm pretty sure it's the compiler
> settings - I have just built the same source from a lfs6 system,
> and it finished (7.8Meg log).
> 
> 
> Any ideas? 
> 
> When I cd into the directory and type 'gcc lnx_agp.c' it notes 5
> or so missing includes and then falls over the
> /usr/include/linux/agpgart.h
> 
> 
> My /usr/include/linux/agpgart.h is from kernel 2.6.14.3
> --

I remarked on this from my rather imperfect script.
You can get further information at:
www.linuxquestions.org/questions/showthread.php?t=378616
My "quick fix" is not ideal, but will get the job done:

sed -e 's|__u16|unsigned short|g' -e 's|__u32|unsigned|g' -i \
hw/xfree86/os-support/linux/lnx_agp.c
cp -v /usr/include/linux/agpgart.h /usr/include/linux/agpgart.h.orig
sed -e 's|__u16|unsigned short|g' -e 's|__u32|unsigned|g' \
-i /usr/include/linux/agpgart.h

I really should make it in the patch form to prevent sed's commands
from grabbing anything it should not..



More information about the hlfs-dev mailing list