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