The latest version of xcb in git is 1.2; perhaps the check PKG_CHECK_MODULES(XCB, xcb > 1.2) should be PKG_CHECK_MODULES(XCB, xcb >= 1.2) ?
Created attachment 25930 [details] [review] Patch to implement fix
Except the patch is wrong, since it really requires > 1.2 to be OK with library version bump IIRC.
I'm not sure what you mean by "library version bump". Are you confusing library versions and package version? The package version of libxcb in git master is 1.2. I've compiled xcb-utils against this libxcb version 1.2 (and am currently using it through iceweasel to write this comment) so the requirement of libxcb > 1.2 appears to be false.
I'm not confusing anything, but my answer was not the right one. We need libxcb > 1.2 because xcb > 1.2 will depends on xproto >= 1.5. And with xproto >= 1.5, the protocol description of GetProperty replies has changed, therefore if you use libxcb <= 1.2 / xproto <= 1.4 some values returned by xcb-icccm (from xcb-util) will be wrong).
Created attachment 25956 [details] [review] Patch to add dependency on xcb-proto
This is not right. Having xcb-proto >= 1.5 on your system does not guarantee that the code generated and compiled inside libxcb was done with xcb-proto 1.5: - install xcb-proto 1.4 - build libxcb 1.2 - install xcb-proto 1.5 - build xcb-util with your patch will work, but the code will fail because libxcb has been generated with xcb-proto 1.4.
In that case, using PKG_CHECK_MODULES isn't enough. The configure script needs to check which version of xcb-proto libxcb was compiled against.
We can't so that's why we require libxcb > 1.2 which will require xcb-proto >= 1.5 to compile. So we are sure that it's correct. Or I miss something and provide me an example where it can fail please.
(In reply to comment #8) > We can't Why not? > so that's why we require libxcb > 1.2 which will require xcb-proto >= > 1.5 to compile. So we are sure that it's correct. Or I miss something and > provide me an example where it can fail please. This is the output of trying to configure xcb-util from git master with jhbuild, which is an example where it fails: checking for XCB... configure: error: Package requirements (xcb > 1.2) were not met: Requested 'xcb > 1.2' but version of XCB is 1.2 Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables XCB_CFLAGS and XCB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. make: *** [config.status] Error 1 *** error during stage build of xcb-util: ########## Error running make *** [56/65]
(In reply to comment #9) > Why not? Tell me how then. :-) > > so that's why we require libxcb > 1.2 which will require xcb-proto >= > > 1.5 to compile. So we are sure that it's correct. Or I miss something and > > provide me an example where it can fail please. > > This is the output of trying to configure xcb-util from git master with > jhbuild, which is an example where it fails: I know it fails to build *right now*. We just need to bump the version of libxcb in git, which I did not do for now because I'm not sure we will release 1.3 directly or go with 1.2.x.
Created attachment 25958 [details] [review] Patch for libxcb to store xcb-proto version
Created attachment 25959 [details] [review] Patch to add check for version of xcb-proto that libxcb was compiled against
(In reply to comment #10) > (In reply to comment #9) > > Why not? > > Tell me how then. :-) See attached patches. > > > so that's why we require libxcb > 1.2 which will require xcb-proto >= > > > 1.5 to compile. So we are sure that it's correct. Or I miss something and > > > provide me an example where it can fail please. > > > > This is the output of trying to configure xcb-util from git master with > > jhbuild, which is an example where it fails: > > I know it fails to build *right now*. We just need to bump the version of > libxcb in git, which I did not do for now because I'm not sure we will release > 1.3 directly or go with 1.2.x. Could you possibly update libxcb in git with a 1.2.x version temporarily, so that xcb-util isn't broken? (Or apply the aforementioned patches?)
Julien, as usual, thanks hugely for running our release process. It is greatly appreciated. Bob, thanks much for the bug report and your persistence with it, and especially for providing the nice-looking autoconf patches. It would be really nice if top of tree was buildable again right now. I see three obvious resolutions: * Temporarily change the > to >= . Yes, it's arguably the wrong thing, but it's the easiest. * Bump the version number of libxcb to 1.2.1. We can always bump it again later if it wants to be 1.3. * Adopt Bob's patches and let them drive things from here on out. I have a preference for the third, but I freely admit that I may not understand the full implications. At any rate, I'm fine with whichever one Julien wants to go with. Again, thanks to all.
I've pushed both patches. Thanks Bob.
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.