Bug 997

Summary: Build failure with |#define BuildXfixes NO|
Product: xorg Reporter: Roland Mainz <roland.mainz>
Component: * OtherAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact:
Severity: blocker    
Priority: high CC: kem, stuart.kreitman
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 351    

Description Roland Mainz 2004-08-05 20:52:15 UTC
2004-08-05-trunk on SuSE Linux 8.2/x86, a build with|#define BuildXfixes NO|
fails like this:
-- snip --
gcc -m32 -o Xorg -O2 -fno-strength-reduce -fno-strict-aliasing -ansi -pedantic
-Wall -Wpointer-arith -Wundef     -L../../exports/lib   xkb/xf86KillSrv.o
xkb/xf86VT.o xkb/xf86Private.o               
../../programs/Xserver/hw/xfree86/common/xf86Init.o
../../programs/Xserver/hw/xfree86/common/xf86IniExt.o
../../programs/Xserver/hw/xfree86/common/libxf86.a        
../../programs/Xserver/hw/xfree86/parser/libxf86config.a
../../programs/Xserver/hw/xfree86/os-support/libxf86_os.a
../../programs/Xserver/hw/xfree86/loader/libloader.a             
../../programs/Xserver/hw/xfree86/common/libxf86.a dix/libdix.a
os/libos.a            ../../lib/font/fontbase.o     ../../lib/font/libfontbase.a
Xext/libexts.a xkb/libxkb.a Xi/libxinput.a                  
lbx/liblbx.a                   ../../lib/lbxutil/liblbxutil.a 
../../programs/Xserver/hw/xfree86/common/libxf86.a               Xext/libexts.a
xkb/libxkb.a Xi/libxinput.a                   lbx/liblbx.a                  
../../lib/lbxutil/liblbxutil.a  randr/librandr.a
render/librender.a                 -lXfixes damageext/libdamage.a
miext/damage/libdamage.a dix/libxpstubs.a mi/libmi.a Xext/libexts.a xkb/libxkb.a
Xi/libxinput.a                   lbx/liblbx.a                  
../../lib/lbxutil/liblbxutil.a  randr/librandr.a render/librender.a            
-lXfixes damageext/libdamage.a miext/damage/libdamage.a 
../../programs/Xserver/hw/xfree86/os-support/libxf86_os.a     -lz
-lm                  -lXau -lXdmcp  -rdynamic -ldl 
-Wl,-rpath-link,../../exports/lib
damageext/libdamage.a(damageext.o)(.text+0x6d3): In function
`ProcDamageSubtract':
: undefined reference to `RegionResType'
damageext/libdamage.a(damageext.o)(.text+0x6f7): In function
`ProcDamageSubtract':
: undefined reference to `XFixesErrorBase'
damageext/libdamage.a(damageext.o)(.text+0x704): In function
`ProcDamageSubtract':
: undefined reference to `RegionResType'
../../exports/lib/libXfixes.so: undefined reference to `XESetEventToWire'
../../exports/lib/libXfixes.so: undefined reference to `_Xglobal_lock'
../../exports/lib/libXfixes.so: undefined reference to `_XUnlockMutex_fn'
../../exports/lib/libXfixes.so: undefined reference to `XFree'
../../exports/lib/libXfixes.so: undefined reference to `_XReadPad'
../../exports/lib/libXfixes.so: undefined reference to `_XLockMutex_fn'
../../exports/lib/libXfixes.so: undefined reference to `XAddExtension'
../../exports/lib/libXfixes.so: undefined reference to `_XReply'
../../exports/lib/libXfixes.so: undefined reference to `XESetCloseDisplay'
../../exports/lib/libXfixes.so: undefined reference to `_XSetLastRequestRead'
../../exports/lib/libXfixes.so: undefined reference to `_XEatData'
../../exports/lib/libXfixes.so: undefined reference to `_XFlush'
../../exports/lib/libXfixes.so: undefined reference to `XInitExtension'
../../exports/lib/libXfixes.so: undefined reference to `_XSend'
../../exports/lib/libXfixes.so: undefined reference to `_XRead'
../../exports/lib/libXfixes.so: undefined reference to `XESetWireToEvent'
collect2: ld returned 1 exit status
make[4]: *** [Xorg] Error 1
make[4]: Leaving directory
`/home/gismobile/projects/xorg/anonwork006/xc/programs/Xserver'
make[3]: *** [all] Error 2
make[3]: Leaving directory
`/home/gismobile/projects/xorg/anonwork006/xc/programs'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/gismobile/projects/xorg/anonwork006/xc'
make[1]: *** [World] Error 2
make[1]: Leaving directory `/home/gismobile/projects/xorg/anonwork006/xc'
make: *** [World] Error 2
-- snip --

Steps to reproduce:
1. Pull source from CVS
2. Add
-- snip --
#define BuildComposite         NO
#define BuildXfixes            NO
-- snip --
to xc/config/cf/host.def
3. Build
% cd xc
% make World 2>&1 | tee -a buildlog.log
Comment 1 Kevin E. Martin 2004-08-08 19:09:40 UTC
I've checked in a patch that should fix this problem.

It turned out that there were two problems:

- The damage extension requires Xfixes
- XFIXESLIB is already used by the libraries, so another choice had to be made
in Xserver/Imakefile.  I used FIXESLIB.
Comment 2 Kevin E. Martin 2004-08-09 12:23:43 UTC
Forgot to close yesterday when the patch was applied.

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.