Hi,
when trying to build a static X-Server(#define DoLoadableServer NO) on Linux/PPC 
the final link of XFree86 fails with

cfb24/libcfb24.a(cfbglblt8.o): In function `cfbPolyGlyphBlt8Clipped':
cfbglblt8.o(.text+0x910): undefined reference to `cfb8ComputeClipMasks32'
cfbglblt8.o(.text+0x910): relocation truncated to fit: R_PPC_REL24 
cfb8ComputeClipMasks32
cfb32/libcfb32.a(cfbglblt8.o): In function `cfbPolyGlyphBlt8Clipped':
cfbglblt8.o(.text+0x690): undefined reference to `cfb8ComputeClipMasks32'
cfbglblt8.o(.text+0x690): relocation truncated to fit: R_PPC_REL24 
cfb8ComputeClipMasks32

cfb8ComputeClipMasks32 is defined in  libcfb.a:

nm libcfb.a | grep cfb8ComputeClipMasks32
         U cfb8ComputeClipMasks32
000001e4 T cfb8ComputeClipMasks32

The link fails cause libcfb24 references the symbol but is linked in
after libcfb8:

gcc -o XFree86 -O2 ... cfb/libcfb.a cfb16/libcfb16.a cfb24/libcfb24.a ...

I could work around this by adding cfb/libcfb.a after libcfb24.a. Like:

--- xc/programs/Xserver/Makefile.orig   Mon Mar 18 17:40:43 2002
+++ xc/programs/Xserver/Makefile        Mon Mar 18 17:41:27 2002
@@ -909,7 +909,7 @@
 
             MFB = mfb/libmfb.a
              FB = fb/libfb.a
-            CFB = cfb/libcfb.a                   cfb16/libcfb16.a                
cfb24/libcfb24.a                cfb32/libcfb32.a
+            CFB = cfb16/libcfb16.a               cfb24/libcfb24.a                
+cfb32/libcfb32.a cfb/libcfb.a
 
            CFB8 = cfb/libcfb.a
            CFB4 = cfb/libcfb.a                   cfb4/libcfb4.a

Someone with more clues about Imakefiles should be able to fix this
easily.

I further noticed that lib/GLw will not build without having X11 headers
installed in /u/i/X11. At least IntrinsicP.h is missing. I'm building with
"#define BuildServersOnly YES". Is this dependency on system headers
intended? Do we need the GLw stuff at all for server only builds?
 -- Guido

_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to