GNOME Bugzilla – Bug 133714
Xrender module missing X11 dependency
Last modified: 2008-05-02 20:28:22 UTC
Xrender looks for x11.pc during configure, but the module providing it is not listed among its dependencies. I don't know which module provides x11.pc at this time.
It does check for an x11.pc, but it looks like it has fallback code to find Xlib via the traditional means if that fails. Are you seeing an actual failure? I haven't ever had a problem building Xrender.
I am, but mostly because I'm building on a stripped-down system - no X yet at all. 'startup-notification' gives me a similar skipping point. (And I'll now skip filing a bug report about that, unless directed otherwise.) It looks like I'll just need to make a second pass to build. What I'm missing has been built since I filed this or will soon be built.
Well, if you want a set of X libraries, but don't want to install the ones that come with Debian, you can build the freedesktop.org ones. Just add "meta-xlibs" to the begining of your modules list, and it will pull and build them all. This is another instance where a "soft" dependency feature might be useful -- one that only affects the relative order of packages that have already been selected for building, rather than pulling in new packages.
Created attachment 24603 [details] [review] Patch to add X11 as a dependency of Xrender
I'm not going to apply Thom's patch for the reasons mentioned in previous comments. I have now implemented a <suggests> element like I mentioned earlier though, so it would be possible to add such dependencies without causing everyone to rebuild all their X libraries to use Gnome.
Yeah, I realised why you hadn't done that when I woke up this morning :-) How does suggests work (mutters about anoncvs not having caught up yet)? "If we already want to build X11, do it now rather than later"? A nice feature might be to be able to suggest that xxx should perhaps be built first if the selected program failed to configure or build. (If it already does that, my apologies)... What do you think?
With a normal hard dependency, jhbuild makes sure the other module is built before hand. For "suggests" soft dependencies, jhbuild only ensures that the other module will be built first _provided that it is going to be built_. So all it really does is enforce an ordering between two modules if they are both going to be built.
I am getting the same: -------------------------------------------------------------------------------- checking for pkg-config... /opt/gnome2/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for X... configure: error: Package requirements (x11) were not met: No package 'x11' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables X_CFLAGS and X_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. *** error during stage configure of libXrender: Error running ./autogen.sh --prefix /opt/gnome2 --disable-static --disable-gtk-doc *** [1/1] -------------------------------------------------------------------------------- freedesktop.modules doesn't say anything about x11 being a dependency: -------------------------------------------------------------------------------- <autotools id="libXrender" supports-non-srcdir-builds="no"> <branch repo="git.freedesktop.org" module="xorg/lib/libXrender" checkoutdir="libXrender" /> <dependencies> <dep package="RenderProto"/> </dependencies> </autotools> -------------------------------------------------------------------------------- And libXrender's configure.ac has no fallback code that I see: -------------------------------------------------------------------------------- # Check for X PKG_CHECK_MODULES(X, x11) X_REQUIRES="x11" -------------------------------------------------------------------------------- The corresponding built 'configure' file basically does: $PKG_CONFIG --exists --print-errors "x11" and checks it's return value. So, in summary, your system needs x11.pc, which mine does not. I have xorg-x11-6.8.2-r7. Perhaps if I update to the modular 7.0 it would work. Bit of a PITA just to build gnome. hmm.
Finally got libXrender to build. Installed xorg-x11 7.0 modular. And it wasn't picking up the x11.pc in /usr/lib/pkgconfig so I had to add the following to my .jhbuildrc os.environ['PKG_CONFIG_PATH'] = prefix + 'lib/pkgconfig:/usr/lib/pkgconfig/'
I got this too. Looks like libXrender needs the libX11 from modular Xorg now (not just for the .pc file, but to build too). I'm thinking of doing the following: 1. move libXrender and libXft to <after> rather than <dependencies> for cairo, pango, etc. 2. add enough module definitions to build libX11. If people don't have new enough Xft/Xrender on their system, they can add them to their list of modules to build.
+1 from me, James. (I've essentially done exactly that in my local copy as well) If you're busy, I can do it for you if you like.
*** Bug 349477 has been marked as a duplicate of this bug. ***
(In reply to comment #11) > If you're busy, I can do it for you if you like. Done. Let me know if you've reconsidered and would like me to revert.