some notes on how to make building Xorg modular from git easier

Kacper Wysocki kacperw at online.no
Tue Aug 22 09:22:00 PDT 2006


Hello all,
I've done monolithic builds in the past, and recently I had a crack at
compiling Xorg modular as described at
http://wiki.x.org/wiki/ModularDevelopersGuide

While I know that compiling the whole thing isn't something an Xorg
developer has to do very often, I did hit some snags that weren't
documented in the build guide, but that could be easily fixed in the
build scripts.

Primo, to have a streamlined install I believe that the git_xorg
script should pull in all the packages that build.sh expects by
default.

All the font modules have been commented out in git_xorg - if they
aren't to be pulled from git, then don't build them by default in
build.sh, and do pull them if they are to be built by default.

Also, build.sh assumes that you want to build the various XCB modules
unless USE_XCB=NO is set - however, xcb isn't present in git (as far
as I can tell) and is certainly not pulled by git_xorg. I had to
manually get xcb from xcb.freedesktop.org tarballs, but only after
being quite puzzled that it was expected, but not provided.

Furthermore, xkbdata was completely missing, and I could but find it
as a release tarball.

Second, xcb depends on gperf, which isn't documented on the build page.

Third, I ran into two snags with packageconfig files:
xcursorgen : Variable 'datarootdir' not defined in
'/tmp/xmodular/modular/lib/pkgconfig/xcursor.pc'

during the build of xcursorgen and also:
xt : Variable 'datarootdir' not defined in
'/tmp/xmodular/modular/lib/pkgconfig/xt.pc'

during the build of the xt module.
The problem is the use of $datarootdir in the .pc files as in:
appdefaultdir=${datarootdir}/X11/app-defaults

The fix, at least for someone with small understanding of the build
process, was to add 'datarootdir=${prefix}/share' to both these files.

Fourth, I following error appears while building the xserver module:
EXTRA_DIST: variable `LBX_SOURCES' is used but `LBX_SOURCES' is undefined
autoreconf: automake failed with exit status: 1

The fix was to set the following in os/Makefile.am
LBX_SOURCES = lbxio.c

This last one I found in an older version of Makefile.am by googling..
I do realize that lbxio.c doesn't exist in the tree anymore... so
maybe removing the reference from the makefile altogether would be
appropriate?

It does not seem to me that any of these issues would be specific to
my machine/distribution, so hopefully the above will be helpful in
fixing these simple issues.

Lastly, I believe that Barry Scott's changes to build-from-tarball.sh
should be incorporated into build.sh, or ideally there would be one
shell script incorporating both build methods (or a hybrid tarball-git
build). I might be inclined to do just such a thing at some point, but
I haven't gotten to it yet.

The end result would hopefully be that one could run git_xorg, then
build.sh (with the appropriate parameters) and thus build the whole
tree without problems (documented dependencies would of course have to
be satisfied in advance).

thanks for listening,
 -Kacper Wysocki



More information about the xorg mailing list