---- Matthieu Herrb <[EMAIL PROTECTED]> wrote:
> Hi,
> 
> when building the latest XFree86 on Mac OS 10.2.4, I get link errors. A
> first one is easily fixed by the attached patch, but XDarwinApp also
> fails to link with the following error for which I can't find the
> missing code...

Yes, I have this issue fixed on my laptop. Unfortunately for the next week or so I 
can't commit the changes as I am away on vacation with only slow web mail access. 
Unfortunately this error crept shortly before I left.

Here's the backstory: XDarwin is going to support two rootless implementations using 
different API's. On Panther (and hopefully 10.2.x) XDarwin can use Apple's new Xplugin 
library which was developed specifically for it. Earlier versions will have to use the 
mixture of Cocoa and Carbon that we used in XFree86 4.3.0. The missing xp_* symbols 
that you see are from libXplugin.

Here's the way I have fixed this: applewm.c will be built into XDarwin as you did with 
your Imakefile patch. However, applewm.c is being improved to work with either the 
Xplugin or Cocoa implementations. The XDarwin build is also being modified so that it 
always builds both implementations (if possible) and dynamically loads the appropriate 
one in at runtime. This should make testing both implementations much easier. (This 
bug slipped through because I only tested it when building for Xplugin.)

In the short term you can do one of the following to fix the problem:

1. Build the Xplugin implementation. To do this download Apple's X11 public beta and 
install it. (Actually you only need to install libXplugin, which has its own installer 
buried in the X11 installer bundle.) Then add the following line to your host.def file:

#define XpLibDir /usr/lib

Rebuild and everything should build correctly. You will also find that GLX is now 
exactly as fast as Mac OS X's native OpenGL.

2. Comment out the AppleWMSendEvent() call in Xserver/hw/darwin/quartz/quartz.c. You 
should be able to rebuild without applewm.c.

--Torrey

> making all in programs/Xserver/miext/rootless...
> make[4]: Nothing to be done for `all'.
> /usr/bin/cc -o XDarwinApp -Os -Wall -Wpointer-arith -no-cpp-precomp     
> -L../../exports/lib             dix/libdix.a os/libos.a ../../exports/lib/libXau.a 
> ../../exports/lib/libXdmcp.a  hw/darwin/libdarwin.a hw/darwin/quartz/libXQuartz.a 
> hw/darwin/quartz/cr/libcr.a         miext/rootless/librootless.a 
> hw/darwin/quartz/aquaWindow.o           hw/darwin/quartz/aquaPicture.o    
> miext/shadow/libshadow.a fb/libfb.a Xext/libext.a xkb/libxkb.a                    
> lbx/liblbx.a                   ../../lib/lbxutil/liblbxutil.a dbe/libdbe.a 
> record/librecord.a  XTrap/libxtrap.a randr/librandr.a render/librender.a 
> dix/libxpstubs.a mi/libmi.a Xext/libext.a xkb/libxkb.a                    
> lbx/liblbx.a                   ../../lib/lbxutil/liblbxutil.a dbe/libdbe.a 
> record/librecord.a  XTrap/libxtrap.a randr/librandr.a render/librender.a 
> -L/usr/X11R6/lib    ../../lib/font/libXfont.a -lfreetype dix/libxpstubs.a -lz        
>            -framework IOKit -framework ApplicationServices -framework Cocoa !
>                 -framework CoreAudio -framework Carbon -ObjC                  
> ld: Undefined symbols:
> _xp_configure_window
> _xp_disable_update
> _xp_frame_draw
> _xp_frame_get_rect
> _xp_frame_hit_test
> _xp_reenable_update
> make[3]: *** [XDarwinApp] Error 1
> 
> Here's the patch to build applewm.o:
> 
> Index: Imakefile
> ===================================================================
> RCS file: /cvs/xf86/xc/programs/Xserver/hw/darwin/quartz/Imakefile,v
> retrieving revision 1.9
> diff -u -r1.9 Imakefile
> --- Imakefile 12 Aug 2003 23:47:10 -0000      1.9
> +++ Imakefile 1 Sep 2003 21:15:30 -0000
> @@ -18,6 +18,7 @@
>          quartzPasteboard.c \
>          quartzStartup.c \
>          pseudoramiX.c \
> +     applewm.c \
>          aquaPicture.c \
>          aquaWindow.c \
>          $(APPLEWMSRC)
> @@ -32,6 +33,7 @@
>          quartzPasteboard.o \
>          quartzStartup.o \
>          pseudoramiX.o \
> +     applewm.o \
>          aquaPicture.o \
>          aquaWindow.o \
>          $(APPLEWMOBJ)
> 
>                                       Matthieu
> 
> 
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to