Newsgroups: comp.windows.x Path: utzoo!utgpu!watserv1!watdragon!watsol.waterloo.edu!tbray From: tbray@watsol.waterloo.edu (Tim Bray) Subject: Alternative location for X11R4 - be careful! Message-ID: <1991Feb23.215852.15898@watdragon.waterloo.edu> Sender: daemon@watdragon.waterloo.edu (Owner of Many System Processes) Organization: University of Waterloo References: <32602@sequoia.execu.com> Date: Sat, 23 Feb 1991 21:58:52 GMT Lines: 28 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