libX11 and keysymdef.h

John Taylor pi00100100 at
Mon Oct 12 09:08:19 PDT 2009

Hello. I'm trying to build a GNU/Linux system with I configure
the various packages with --prefix=/usr but I install them with make
install DESTDIR=${lfs}, where ${lfs} is the place where I put the
target system. Everything went well until I tried to install libX11.
The problem is that its configure script tries to locate keysymdef.h
but fails at finding it. I obviously installed xproto (always with
--prefix=/usr and make install DESTDIR=${lfs}) before attemting to
install libX11. I looked at the configure script. It runs the host's
pkg-config and asks it to retrieve the path of the include directory
for the xproto package. Since I don't have xproto on the host system,
it returns nothing. A first way to fix this would be to set the
PKG_CONFIG_PATH to ${lfs}/usr/lib64/pkgconfig, so it would find
xproto.pc. But even then, it would return /usr/include instead of
${lfs}/usr/include because in xproto.pc the prefix variable is set to
/usr (I configured xproto with --prefix=/usr). So this could be fixed
by calling pkg-config with the --define-variable=prefix=${lfs}/usr
argument. Another way to fix this would be to leave intact the
configure script and create the following symlinks:
/usr/include/X11/keysymdef.h -> ${lfs}/usr/include/X11/keysymdef.h and
/usr/lib64/pkgconfig/xproto.pc ->
${lfs}/usr/lib64/pkgconfig/xproto.pc. I'm not satisfied by any of the
previous workarounds, but I couldn't manage to do better. What do you
think? Thanks.

More information about the xorg mailing list