On 30/11/2017 16:46, Emil Velikov wrote:
On 30 November 2017 at 15:13, Jon Turney wrote:
On 29/11/2017 17:34, Dylan Baker wrote:
[...]
Maybe it's me that's missing something...
There are references to functions provided by these libraries (xcb_glx, xcb,
x11_xcb) in common code.
Having a reference to those (as printed by the linker as it errors) should help.
There's a lot of macros guarding the different parts of GLX - the
obvious ones GLX_ seem there.
Another thing that comes to mind is the libloader_dri3_helper.
It should be a noop/empty for non-Linux/BSD but something is going wrong?
Yes, as I wrote in the bit of my email you snipped, these dependencies
come via libloader_dri3_helper.
When configured -Ddri3=false (which is always the case on non-linux
targets), libGL is underlinked, so this patch is correct.
Even with this patch applied, mesa fails to build for linux when
configured with -Ddri3=false, due to various undefined references to
libXext:
[3/3] Linking target src/glx/libGL.so.1.2.0.
FAILED: src/glx/libGL.so.1.2.0
cc -o src/glx/libGL.so.1.2.0 'src/glx/GL@sha/src_glx_dummy.c.o'
-Wl,--no-undefined -Wl,--as-needed -shared -fPIC -Wl,--start-group
-Wl,-soname,libGL.so.1 -Wl,--whole-archive src/glx/libglx.a
-Wl,--no-whole-archive src/mapi/glapi/libglapi_static.a
src/mapi/shared-glapi/libglapi.so.0.0.0 src/loader/libloader.a
src/util/libmesa_util.a src/util/libxmlconfig.a -pthread -Wl,-Bsymbolic
-Wl,--gc-sections -ldrm -ldl -lm -Wl,--end-group -lX11 -lxcb-glx -lxcb
-lX11-xcb -lX11 -lxcb -lxcb-dri2 -ldrm -lX11 -ldrm -lz -lexpat -lm
'-Wl,-rpath,$ORIGIN/:$ORIGIN/../mapi/shared-glapi'
-Wl,-rpath-link,/home/jon/src/mesa/build/src/glx:/home/jon/src/mesa/build/src/mapi/shared-glapi
src/glx/libglx.a(dri2.c.o): In function `DRI2CloseDisplay':
/home/jon/src/mesa/build/../src/glx/dri2.c:58: undefined reference to
`XextRemoveDisplay'
src/glx/libglx.a(dri2.c.o): In function `DRI2FindDisplay':
/home/jon/src/mesa/build/../src/glx/dri2.c:81: undefined reference to
`XextFindDisplay'
/home/jon/src/mesa/build/../src/glx/dri2.c:81: undefined reference to
`XextCreateExtension'
/home/jon/src/mesa/build/../src/glx/dri2.c:81: undefined reference to
`XextAddDisplay'
src/glx/libglx.a(dri2.c.o): In function `DRI2EventToWire':
/home/jon/src/mesa/build/../src/glx/dri2.c:168: undefined reference to
`XMissingExtension'
src/glx/libglx.a(dri2.c.o): In function `DRI2WireToEvent':
/home/jon/src/mesa/build/../src/glx/dri2.c:93: undefined reference to
`XMissingExtension'
src/glx/libglx.a(dri2.c.o): In function `DRI2QueryVersion':
/home/jon/src/mesa/build/../src/glx/dri2.c:229: undefined reference to
`XMissingExtension'
src/glx/libglx.a(dri2.c.o): In function `DRI2Connect':
/home/jon/src/mesa/build/../src/glx/dri2.c:275: undefined reference to
`XMissingExtension'
src/glx/libglx.a(dri2.c.o): In function `DRI2Authenticate':
/home/jon/src/mesa/build/../src/glx/dri2.c:344: undefined reference to
`XMissingExtension'
src/glx/libglx.a(dri2.c.o):/home/jon/src/mesa/build/../src/glx/dri2.c:371: more
undefined references to `XMissingExtension' follow
src/glx/libglx.a(dri2_glx.c.o): In function `dri2_copy_drawable':
/home/jon/src/mesa/build/../src/glx/dri2_glx.c:635: undefined reference to
`XFixesCreateRegion'
/home/jon/src/mesa/build/../src/glx/dri2_glx.c:637: undefined reference to
`XFixesDestroyRegion'
src/glx/libglx.a(dri2_glx.c.o): In function `__dri2CopySubBuffer':
/home/jon/src/mesa/build/../src/glx/dri2_glx.c:597: undefined reference to
`XFixesCreateRegion'
/home/jon/src/mesa/build/../src/glx/dri2_glx.c:608: undefined reference to
`XFixesDestroyRegion'
src/glx/libglx.a(dri_glx.c.o): In function `__glXReportDamage':
/home/jon/src/mesa/build/../src/glx/dri_glx.c:348: undefined reference to
`XFixesCreateRegion'
/home/jon/src/mesa/build/../src/glx/dri_glx.c:350: undefined reference to
`XDamageAdd'
/home/jon/src/mesa/build/../src/glx/dri_glx.c:351: undefined reference to
`XFixesDestroyRegion'
src/glx/libglx.a(dri_glx.c.o): In function `has_damage_post':
/home/jon/src/mesa/build/../src/glx/dri_glx.c:296: undefined reference to
`XDamageQueryVersion'
src/glx/libglx.a(XF86dri.c.o): In function `close_display':
/home/jon/src/mesa/build/../src/glx/XF86dri.c:82: undefined reference to
`XextRemoveDisplay'
src/glx/libglx.a(XF86dri.c.o): In function `find_display':
/home/jon/src/mesa/build/../src/glx/XF86dri.c:77: undefined reference to
`XextFindDisplay'
/home/jon/src/mesa/build/../src/glx/XF86dri.c:77: undefined reference to
`XextCreateExtension'
/home/jon/src/mesa/build/../src/glx/XF86dri.c:77: undefined reference to
`XextAddDisplay'
src/glx/libglx.a(XF86dri.c.o): In function `XF86DRIQueryVersion':
/home/jon/src/mesa/build/../src/glx/XF86dri.c:125: undefined reference to
`XMissingExtension'
src/glx/libglx.a(XF86dri.c.o): In function `XF86DRIQueryDirectRenderingCapable':
/home/jon/src/mesa/build/../src/glx/XF86dri.c:155: undefined reference to
`XMissingExtension'
src/glx/libglx.a(XF86dri.c.o): In function `XF86DRIOpenConnection':
/home/jon/src/mesa/build/../src/glx/XF86dri.c:184: undefined reference to
`XMissingExtension'
src/glx/libglx.a(XF86dri.c.o): In function `XF86DRIAuthConnection':
/home/jon/src/mesa/build/../src/glx/XF86dri.c:235: undefined reference to
`XMissingExtension'
src/glx/libglx.a(XF86dri.c.o): In function `XF86DRICloseConnection':
/home/jon/src/mesa/build/../src/glx/XF86dri.c:264: undefined reference to
`XMissingExtension'
src/glx/libglx.a(XF86dri.c.o):/home/jon/src/mesa/build/../src/glx/XF86dri.c:289:
more undefined references to `XMissingExtension' follow
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev