Installing/Distributing Binaries After Modular Build

R.L. Horn lists at eastcheap.org
Fri Jan 19 02:15:16 PST 2007


On Fri, 19 Jan 2007, Daniel Stone wrote:

> On Thu, Jan 18, 2007 at 03:31:22PM -0600, R.L. Horn wrote:
>> I've been threatening to rewrite the Developers' Guide since August.  I've
>> been putting it off for R7.2, but maybe that was a mistake...
>
> If you do, please explain why /usr is such a hideous idea beforehand,
> given that the overwhelmingly prevailing view is that /usr is fine.

/usr and /usr/local were a dodgy idea in the first place.  It's a jumbled 
up mess, it doesn't allow for fine control of shared filesystems, etc., 
etc., etc.

Don't get me wrong, I'm at least as guilty as anyone:

     [usr]$ find bin include info lib libexec man sbin share \
     -not -type d | wc
       19135   19135  540121

No way I'm throwing X's 8000+ files (8801 in my current, incomplete, 
installation) into that hodgepodge as well.  My life is complicated enough 
already.  Besides, the convention has _never_ been to root X in /usr. 
/usr/X11R? is traditional, and there are really strong arguments for 
/opt/X11R?.

Now, with Mesa (and maybe other packages), you have a special problem. 
Astonishingly, Mesa builds with compiler options that give preference to 
headers in the X11 tree over those in its own source directories (or at 
least did as of version 6.5.1).

The upshot of this is that, if X and Mesa headers are installed in the 
same place (e.g. /usr/include) and you want to build a new version of 
Mesa, you either have to hack the Mesa configuration files or remove the 
old headers.  Don't remove include/GL entirely, though, because X _also_ 
puts headers there, courtesy of glproto and xf86driproto.

Now, as it happens, all of this is moot since, if I do rewrite the 
Developers' Guide, I'm only going to address build issues.  Where you 
install it is up to you.



More information about the xorg mailing list