[comp.windows.x] Alternative location for X11R4 - be careful!

tbray@watsol.waterloo.edu (Tim Bray) (02/24/91)

Just ran across a nasty side-effect of putting X in a funny location.  X
provides a facility for the creation of private keysyms.  For example, 
Motif 1.1 takes advantage of this to create a bunch of "OSF" keysyms. These
are resolved by looking them up in .../lib/XKeysymDB.

Fine and good.  The trouble is, the pathname string gets compiled into
Xlib.  So code that depends on this, for example any Motif 1.1 application,
if it is built on a system where X lives in /somewhere/else/X11/..., will
not use OSF keysyms properly unless the people who want to run it create
/somewhere/else/lib/XKeysymDB or whatever.  And conversely, people who
want to have their X in /somewhere/else... had better have /usr/lib/X11
around too, or they will have a mirror-image of this problem.

Hmmm, here's the output of 

cd ...source.../lib/X
egrep '\/usr' *.[ch]

XConnDis.c:#define X_UNIX_PATH "/usr/spool/sockets/X11/"
XErrDes.c:#define ERRORDB "/usr/lib/X11/XErrorDB"
XStrKeysym.c:#define KEYSYMDB "/usr/lib/X11/XKeysymDB"
Xstreams.c:static char	*XNETDB = "/usr/X/lib/Xconnections";
Xstreams.h:#define XNETSPECDIR	"/usr/X/lib/net"
Xstreams.h:#define XROOTDIR	"/usr/X"

Any other bombs lurking here?

Cheers, Tim Bray, Open Text Systems