Re: Link problems with Xdmx, may be Darwin-only(?)
Marc Aurele La France <[email protected]>
| Newsgroups | gmane.comp.xfree86.devel |
|---|---|
| Message-ID | <Pine.WNT.4.64.0704142300110.1460@tsi> |
On Wed, 11 Apr 2007, SciFi wrote:
> 5. Link problems with Xdmx, may be Darwin-only(?)
> Build Log snip:
>>>>>
> [...] -Wall -UNEED_SCREEN_REGIONS -L../../exports/lib hw/dmx/dix/main.o hw/dmx/miinitext.o GL/mesa/main/dispatch.o hw/dmx/dix/libdix.a hw/dmx/os/libos.a hw/dmx/libdmxlib.a hw/dmx/config/libdmxconfig.a hw/dmx/glxProxy/libglxProxy.a miext/shadow/libshadow.a fb/libfb.a mi/libmi.a hw/dmx/Xext/libext.a record/librecord.a XTrap/libxtrap.a xkb/libxkb.a Xi/libxinput.a lbx/liblbx.a ../../lib/lbxutil/liblbxutil.a render/librender.a hw/dmx/input/libdmxinput.a -L/usr/X11R6/lib -L../../exports/lib -lXfont -L/usr/local/lib -lfreetype ../../lib/font/stubs/libfntstubs.a -L../../exports/lib -lXi -lXmu -lXt -lSM -lICE -lXext -lX11 -lXrender -lXext -lX11 -lz -lXdmcp
> /usr/bin/ld: Undefined symbols:
> _DarwinGlxExtensionInit
> _DarwinGlxWrapInitVisuals
> __glapi_Dispatch
> [...]
> <<<<
> To recreate:
> Enable the Xdmx options in your [build/]config/cf/host.def file,
> e.g.
> #define XdmxServer YES
You also have XFree86Devel set to YES.
> Build with latest XCode (Apple-provided gcc, ld, etc.).
> Possibly related env-vars:
> export MACOSX_DEPLOYMENT_TARGET="10.4"
> export SDKROOT="/Developer/SDKs/MacOSX10.4u.sdk"
> export SDK="${SDKROOT}"
> ...and maybe others...
> $ gcc --version
> powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5367)
> [...]
> $ uname -a
> Darwin <hostname> 8.9.0 Darwin Kernel Version 8.9.0: Thu Feb 22 20:54:07 PST 2007; root:xnu-792.17.14~1/RELEASE_PPC Power Macintosh powerpc PowerMac7,3 Darwin
> (OSX 10.4.9 running on a Dual G5 2.7GHz with 3.5GB of matched-pair
> SDRAM and more...)
> Discussion:
> Some libs aren't being included at all during the link phase for
> Xdmx.
> I _think_ this is how it might be fixed:
>>>>> -cut->>>>
> --- xc/programs/Xserver/Imakefile_orig 2007-04-10 20:58:18 -0500
> +++ xc/programs/Xserver/Imakefile 2007-04-11 01:57:39 -0500
> @@ -1454,7 +1454,7 @@
> $(XDMXDIRS), \
> $(XDMXOBJS) $(XDMXDEFFILE), \
> $(XDMXLIBS), \
> - $(XDMXSYSLIBS))
> + $(XDMXSYSLIBS) $(IOKITLIB) GL/mesa/GLcore/libGLcore.a -Wl,-m)
> #endif /* XdmxServer */
>
>
> <<<<-cut-<<<<
No. Xdmx has its own GLX implementation.
The patch below should fix this:
*** cvs/xc/programs/Xserver/Imakefile Mon Apr 9 09:19:10 2007
--- devel/xc/programs/Xserver/Imakefile Sat Apr 14 23:00:06 2007
*************** XCOMM
*** 1427,1436 ****
$(DMXEXTDIRS) $(SHADOWDIR) $(DEPDIRS)
#if BuildGlxInDmx
GLXPROXYLIB = $(XDMXDDXDIR)/glxProxy/LibraryTargetName(glxProxy)
- XDMXGLOBJS = $(GLOBJS)
#endif
! XDMXOBJS = $(XDMXDDXDIR)/dix/main.o $(XDMXDDXDIR)/miinitext.o \
! $(XDMXGLOBJS)
XDMXINPUT = $(XDMXDDXDIR)/input/LibraryTargetName(dmxinput)
XDMXCONFIG = $(XDMXDDXDIR)/config/LibraryTargetName(dmxconfig)
XDMX = $(XDMXDDXDIR)/LibraryTargetName(dmxlib) $(XDMXCONFIG) \
--- 1427,1434 ----
$(DMXEXTDIRS) $(SHADOWDIR) $(DEPDIRS)
#if BuildGlxInDmx
GLXPROXYLIB = $(XDMXDDXDIR)/glxProxy/LibraryTargetName(glxProxy)
#endif
! XDMXOBJS = $(XDMXDDXDIR)/dix/main.o $(XDMXDDXDIR)/miinitext.o
XDMXINPUT = $(XDMXDDXDIR)/input/LibraryTargetName(dmxinput)
XDMXCONFIG = $(XDMXDDXDIR)/config/LibraryTargetName(dmxconfig)
XDMX = $(XDMXDDXDIR)/LibraryTargetName(dmxlib) $(XDMXCONFIG) \
*** cvs/xc/programs/Xserver/hw/dmx/glxProxy/glxext.c Fri Jan 19 08:37:02 2007
--- devel/xc/programs/Xserver/hw/dmx/glxProxy/glxext.c Sat Apr 14 22:48:48 2007
*************** void __glXNoSuchRenderOpcode(GLbyte *pc)
*** 518,520 ****
--- 518,534 ----
return;
}
+ #ifdef __DARWIN__
+ void
+ DarwinGlxExtensionInit(INITARGS)
+ {
+ GlxExtensionInit();
+ }
+
+ void
+ DarwinGlxWrapInitVisuals(
+ void *procPtr)
+ {
+ GlxWrapInitVisuals(procPtr);
+ }
+ #endif
Marc.
+----------------------------------+----------------------------------+
| Marc Aurele La France | work: 1-780-492-9310 |
| Academic Information and | fax: 1-780-492-1729 |
| Communications Technologies | email: [email protected] |
| 352 General Services Building +----------------------------------+
| University of Alberta | |
| Edmonton, Alberta | Standard disclaimers apply |
| T6G 2H1 | |
| CANADA | |
+----------------------------------+----------------------------------+
XFree86 developer and VP. ATI driver and X server internals.