Building Xorg 7.1 from tarballs

R.L. Horn lists at
Wed Nov 29 16:08:47 PST 2006

On Wed, 29 Nov 2006, EJBoshinski wrote:

> Greetings,

> In following the steps on Modular Developers Guide to build the 
> entire X11R7.1 release, several errors are encountered that cause the 
> compilation to fail.

Those aren't errors.  They're undocumented features.

>   1).  Mesa needs to be 6.5.1 due to header files not existing in 6.4.2

Build the server against Mesa 6.5.  The 6.5.1 libraries seem to be ok, 
however (at least they work reasonably well for me).

> And in closing, what is the preferred method to installing the new 
> Xserver, modules, libraries & apps?  Is it necessary to keep the 
> previous Xserver, or can one just overwrite the old version with the 
> newly compiled files?

It depends on what version of X you're using currently and where it came 
from.  I'd be inclined to wipe any binary distribution entirely and 
install clean, particularly XFree with its goofy library duplication/ 
reversioning (in this case it's also a good idea to rebuild anything that 
was linked against shared versions of libfreetype and/or libexpat). 
Installing over an X11R7.0 you built yourself is probably safe.

Also, if there are any old Mesa headers in the X11 heirarchy (e.g. 
/usr/X11R6/include) get rid of them before building the Mesa libraries 
as the Mesa Makefiles like to stick "-I [where X headers live]" in the 
compiler command line.  Apart from the DRI libraries, Mesa should be 
installed to /usr or /usr/local -- entirely separate from X.

Take note that Mesa 6.5.1 will install the DRI libraries in [ProjectRoot]/ 
lib/modules/dri by default, whereas the server expects to find them in 
.../lib/dri.  "ln -s dri modules/dri" worked for me.

Finally, if you've followed the build instructions verbatim and installed 
X in a temporary location, i.e. build-from-tarballs /tmp/somethingorother, 
start over.  The --prefix value passed to configure *must* be the final 
installed location of X.  I believe it's possible to do a DESTDIR 
installation, but it's an ugly, involved process requiring a pkg-config 
wrapper and some fiddling with various path-related environment variables 
(feel free to contact me off-list for details).

More information about the xorg mailing list