Compiling xorg-server 1.5.99.2 without --disable-dri2 (dri2proto 1.99.3 and libdrm 2.4.1 are installed) results in glxdri2.c:72: error: expected ':', ',', ';', '}' or '__attribute__' before '*' token glxdri2.c:93: error: expected specifier-qualifier-list before '__DRIbuffer' glxdri2.c: In function '__glXDRIbindTexImage': glxdri2.c:215: error: '__GLXDRIscreen' has no member named 'texBuffer' glxdri2.c: In function '__glXDRIscreenCreateContext': glxdri2.c:304: error: '__GLXDRIscreen' has no member named 'dri2' glxdri2.c: In function '__glXDRIscreenCreateDrawable': glxdri2.c:347: error: '__GLXDRIscreen' has no member named 'dri2' glxdri2.c: At top level: glxdri2.c:353: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token glxdri2.c:386: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'loaderExtension' glxdri2.c:393: error: 'loaderExtension' undeclared here (not in a function) glxdri2.c: In function 'initializeExtensions': glxdri2.c:436: error: '__GLXDRIscreen' has no member named 'glx_enable_bits' glxdri2.c:437: warning: passing argument 1 of '__glXEnableExtension' from incompatible pointer type glxdri2.c:443: error: '__GLXDRIscreen' has no member named 'swapControl' glxdri2.c:444: warning: statement with no effect glxdri2.c:445: error: '__GLXDRIscreen' has no member named 'glx_enable_bits' glxdri2.c:446: warning: passing argument 1 of '__glXEnableExtension' from incompatible pointer type glxdri2.c:447: error: '__GLXDRIscreen' has no member named 'glx_enable_bits' glxdri2.c:448: warning: passing argument 1 of '__glXEnableExtension' from incompatible pointer type glxdri2.c:456: error: '__GLXDRIscreen' has no member named 'texBuffer' glxdri2.c:457: warning: statement with no effect glxdri2.c: In function '__glXDRIscreenProbe': glxdri2.c:496: error: '__GLXDRIscreen' has no member named 'glx_enable_bits' glxdri2.c:496: warning: passing argument 1 of '__glXInitExtensionEnableBits' from incompatible pointer type glxdri2.c:520: error: '__DRI_DRI2' undeclared (first use in this function) glxdri2.c:520: error: (Each undeclared identifier is reported only once glxdri2.c:520: error: for each function it appears in.) glxdri2.c:520: warning: passing argument 1 of 'strlen' from incompatible pointer type glxdri2.c:520: warning: passing argument 2 of '__builtin_strcmp' from incompatible pointer type glxdri2.c:520: warning: passing argument 2 of '__builtin_strcmp' from incompatible pointer type glxdri2.c:520: warning: passing argument 1 of 'strlen' from incompatible pointer type glxdri2.c:520: warning: passing argument 2 of '__builtin_strcmp' from incompatible pointer type glxdri2.c:520: warning: passing argument 2 of '__builtin_strcmp' from incompatible pointer type glxdri2.c:521: error: '__DRI_DRI2_VERSION' undeclared (first use in this function) glxdri2.c:521: warning: comparison between pointer and integer glxdri2.c:522: error: '__GLXDRIscreen' has no member named 'dri2' glxdri2.c:522: error: expected ')' before '__DRIdri2Extension' glxdri2.c:522: warning: type defaults to 'int' in declaration of 'type name' glxdri2.c:522: warning: statement with no effect glxdri2.c:526: error: '__GLXDRIscreen' has no member named 'dri2' glxdri2.c:533: error: '__GLXDRIscreen' has no member named 'dri2' glxdri2.c:533: error: request for member 'createNewScreen' in something not a structure or union glxdri2.c:537: error: called object '*(const struct __DRIextension **)&<erroneous-expression>' is not a function glxdri2.c:537: warning: assignment from incompatible pointer type glxdri2.c:551: error: '__GLXDRIscreen' has no member named 'glx_enable_bits' glxdri2.c:551: warning: passing argument 1 of '__glXGetExtensionString' from incompatible pointer type glxdri2.c:558: error: '__GLXDRIscreen' has no member named 'glx_enable_bits' glxdri2.c:559: warning: passing argument 1 of '__glXGetExtensionString' from incompatible pointer type make[1]: *** [glxdri2.lo] Error 1 With --disable-dri2, everything is ok, dri1 works.
Note to anyone else running into this: The problem is that Mesa needs to be rebuilt after updating libdrm; after that, it works. Of course, there is no official version of Mesa that actually compiles with current libdrm, and git head doesn't do the trick either, so make sure you check out the origin/mesa_7_2_branch of Mesa, that one works.
Should be fixed with current releases.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.