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.0704221009490.1468@tsi> |
On Sat, 14 Apr 2007, Marc Aurele La France wrote:
> 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
This has now been committed. Thanks for reporting the problem.
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.