home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 August - Disc 2 / chip_20018102_hu.iso / linux / X-4.1.0 / doc / INSTALL-X.org.TXT < prev    next >
Text File  |  2001-06-27  |  30KB  |  811 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.            Building and Installing X11R6.5.1
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.                Kaleb S. KEITHLEY
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                 August 20, 2000
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. Copyright (C) 1999,2000 Compaq Computer Corporation
  34. Copyright (C) 1999,2000 Hewlett-Packard Company
  35. Copyright (C) 1999,2000 IBM Corporation
  36. Copyright (C) 1999,2000 Hummingbird Communications Ltd.
  37. Copyright (C) 1999,2000 Silicon Graphics, Inc.
  38. Copyright (C) 1999,2000 Sun Microsystems, Inc.
  39. Copyright (C) 1999,2000 The Open Group
  40. Copyright (C) 1998 The Open Group
  41.  
  42. Permission is hereby granted, free of charge, to any person obtaining a
  43. copy of this software and associated documentation files (the "Soft-
  44. ware"), to deal in the Software without restriction, including without
  45. limitation the rights to use, copy, modify, merge, publish, distribute,
  46. and/or sell copies of the Software, and to permit persons to whom the
  47. Software is furnished to do so, provided that the above copyright
  48. notice(s) and this permission notice appear in all copies of the Soft-
  49. ware and that both the above copyright notice(s) and this permission
  50. notice appear in supporting documentation.
  51.  
  52. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  53. OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
  54. ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY
  55. RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
  56. THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE-
  57. QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  58. DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  59. TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR-
  60. MANCE OF THIS SOFTWARE.
  61.  
  62. Except as contained in this notice, the name of a copyright holder shall
  63. not be used in advertising or otherwise to promote the sale, use or
  64. other dealings in this Software without prior written authorization of
  65. the copyright holder.
  66.  
  67. X Window System is a trademark of The Open Group.
  68.  
  69.  
  70. 1.  Introduction
  71.  
  72. This document is the installation notes that were provided with X.Org's
  73. X11R6.5.1 release.  If you're building XFree86, it can be used as a
  74. rough guide.  Be aware that most of the details are not targetted
  75. specifically at the current XFree86 source tree.  XFree86-specific docu-
  76. mentation can be found in the xc/programs/Xserver/hw/xfree86/doc direc-
  77. tory and on-line at http://www.xfree86.org/current/.  Some of the docu-
  78. mentation there is out of date, so also be aware of that.  There is cur-
  79. rently no up to date document specifically targetted at building XFree86
  80. from source.
  81.  
  82.  
  83. 2.  Easy Build Instructions
  84.  
  85. This quick summary is no substitute for reading the full build instruc-
  86. tions later in this document.
  87.  
  88. Edit xc/config/cf/site.def for local preferences.  If you want to
  89. install somewhere other than /usr/X11R6.5.1, change ProjectRoot. (Do not
  90. use DESTDIR.)  If you want to build with gcc uncomment the HasGcc2 line.
  91. If you have gcc, but not cc, please read the full build instructions.
  92.  
  93. If some time has elapsed since the initial release of R6.5.1, check to
  94. see if any public patches have been released. The source tar files may
  95. have been updated -- check the patch-level line in the bug-report tem-
  96. plate. If the source in the tar files has not been updated then get all
  97. the patches and apply them, following the instructions at the top of
  98. each patch. Ignore the rebuild steps in the patch application instruc-
  99. tions.
  100.  
  101. Check the appropriate vendor-specific .cf file in xc/config/cf/ to make
  102. sure that OSMajorVersion, OSMinorVersion, and OSTeenyVersion are set
  103. correctly for your system. On most systems imake will figure these out
  104. automatically; but you may override them in your xc/config/cf/site.def
  105. if you want.
  106.  
  107. See if there is a BootstrapCFlags mentioned in the comments in the ven-
  108. dor-specific .cf file. (Most systems don't have or need one. The Boot-
  109. strapCFlags in sun.cf is for SunOS 4.0.x, so if you're building on SunOS
  110. 4.1.x or SunOS 5/Solaris 2 then BootstrapCFlags doesn't apply.) If there
  111. isn't one, cd to the xc directory and type (in csh):
  112.  
  113.      % make World >& world.log
  114.  
  115.  
  116. If there is an applicable BootstrapCFlags, take its value and type:
  117.  
  118.      % make World BOOTSTRAPCFLAGS="value" >& world.log
  119.  
  120.  
  121. Do not call the output file "make.log" when doing "make World".  After a
  122. successful build, you can install with:
  123.  
  124.      % make install >& install.log
  125.  
  126.  
  127. You can install manual pages with:
  128.  
  129.      % make install.man >& man.log
  130.  
  131.  
  132. While the system is building (or if things fail), read the rest of these
  133. installation instructions.
  134.  
  135.  
  136.  
  137. 3.  Building and Installing R6.5.1
  138.  
  139.  
  140. Historically the MIT X Consortium and The X Consortium, Inc., sample
  141. implementation releases have always been source-code-only releases, and
  142. this release is no different.
  143.  
  144.  
  145. 3.1.  Introduction
  146.  
  147.  
  148. Every release of X has been progressively easier to configure, build,
  149. and install than the preceding releases -- and we believe this release
  150. is the easiest release to build yet. That not withstanding, if things do
  151. go amiss during the build we assume that you have the basic skills nec-
  152. essary, and the willingness, to debug any errors that may occur in the
  153. build process. When you install, if you're going to use xdm or replace
  154. your system's old X, we assume you have a basic understanding of your
  155. system's initialization process. For Remote Execution (RX, embedding) we
  156. assume you that you understand the fundamentals of HTTP, CGI, and HTML.
  157. If these assumptions are not correct then you should consider finding
  158. someone who has proficiency in these areas to do the build and install
  159. for you.
  160.  
  161. After the release has been out for a while more up to date information
  162. about any newly-discovered problems may be found in the Frequently Asked
  163. Questions posting appearing monthly on the Usenet newsgroup comp.win-
  164. dows.x and xpert mailing list. The FAQ is also available via anonymous
  165. FTP from ftp://ftp.x.org/ in the file ftp://ftp.x.org/con-
  166. trib/faqs/FAQ.Z, or possibly on one of X mirror sites.
  167.  
  168.  
  169. 3.2.  Preparing Your Build System
  170.  
  171.  
  172. The source is distributed in four gzip compressed UNIX Tape ARchive
  173. (tar) files. You will need about 200 Mb of disk space in order to unpack
  174. and build the release. Installing requires an additional 30-50 Mb assum-
  175. ing you have shared libraries (80-100 Mb without).
  176.  
  177. On non-UNIX systems you'll need a utility that can extract gzip com-
  178. pressed tar files to extract the sources. There are several to chose
  179. from, we do not make recommendations about which one you should use.
  180.  
  181. Release 6.5.1 sources are distributed among the tar files as follows:
  182.  
  183.  
  184.      xorg-1.tar     contains everything in xc/ that isn't in the other tar files
  185.      xorg-2.tar     contains xc/fonts
  186.      xorg-3.tar     contains xc/doc/specs, xc/util
  187.      xorg-4.tar     contains xc/doc/hardcopy
  188.  
  189.  
  190. If you define BuildFonts to NO in your site.def file, then you only need
  191. to unpack xorg-1.tar to build. If you build fonts, then you will also
  192. need xorg-2.tar to build. If you already have the fonts from prior
  193. releases you can use those instead of downloading them again. We presume
  194. that you know how to copy or move them from your old source tree to the
  195. R6.5.1 source tree.
  196.  
  197.  
  198. 3.3.  Unpacking the Distribution
  199.  
  200.  
  201. Create a directory to hold the sources and cd into it:
  202.  
  203.      % mkdir sourcedir
  204.      % cd sourcedir
  205.  
  206. Then for each tar file xorg-*.tar.gz, execute this:
  207.  
  208.      % gunzip -c ftp-dir/xorg-N.tar.gz | tar xf -
  209.  
  210.  
  211. or if you have GNU's tar (FreeBSD, NetBSD, OpenBSD, or Linux too)
  212.  
  213.      % tar xzf ftp-dir/xorg-N.tar.gz
  214.  
  215.  
  216.  
  217. 3.4.  Applying Patches
  218.  
  219.  
  220. If some time has elapsed since the initial release of R6.5.1, check to
  221. see if any public patches have been released. The source tar files may
  222. have been updated -- check the patch-level line in the bug-report tem-
  223. plate. If the source in the tar files has not been updated then get all
  224. the patches and apply them, following the instructions at the top of
  225. each patch. Ignore the rebuild steps in the patch application instruc-
  226. tions.
  227.  
  228. See the section "Public Patches" later in this document.
  229.  
  230. Then continue here.
  231.  
  232.  
  233. 3.5.  Configuration Parameters (Imake Variables)
  234.  
  235.  
  236. This release, like all the releases before it, uses imake, a utility for
  237. creating system-specific Makefiles from system-independent Imakefiles.
  238. Almost every directory in the release contains an Imakefile. System-spe-
  239. cific configuration information is located in xc/config/cf/, which is
  240. used by the imake program every time a Makefile is generated in the
  241. source tree.
  242.  
  243. Most of the configuration work prior to building the release is to set
  244. parameters (imake variables) so that imake will generate correct Make-
  245. files. If you're building on one of the supported systems almost no con-
  246. figuration work should be necessary.
  247.  
  248. You should define your configuration parameters in xc/con-
  249. fig/cf/site.def. We provide an empty site.def file and a site.sample
  250. file. The site.sample file is a suggested site.def file -- use it at
  251. your own risk.
  252.  
  253. Any public patches we release will never patch site.def, so you can be
  254. assured that applying a public-patch will not corrupt your site.def
  255. file. On rare occasion you may need to make the change in your vendor-
  256. specific .cf file; but you should avoid doing that if at all possible
  257. because any patch we might release could conceivably patch your vendor-
  258. specific .cf file and your change may be lost or garbled. You can over-
  259. ride most of the things in your vendor-specific .cf file in your
  260. site.def file.    (If you can't, it's a bug -- please file a bug-report.)
  261.  
  262. On the systems we use here, imake will automatically determine the OSMa-
  263. jorVersion, OSMinorVersion, and OSTeenyVersion for your system. If your
  264. system isn't one of the systems we build on here, or you want to build
  265. for a different version of your operating system, then you can override
  266. them in the appropriate entry in your site.def file.
  267.  
  268. The site.def file has two parts, one protected with "#ifdef BeforeVen-
  269. dorCF" and one with "#ifdef AfterVendorCF".  The file is actually pro-
  270. cessed twice, once before the .cf file and once after. About the only
  271. thing you need to set in the "before" section is HasGcc2; just about
  272. everything else can be set in the "after" section.
  273.  
  274. The site.sample also has commented out support to include another file,
  275. host.def. This scheme may be useful if you want to set most parameters
  276. site-wide, but some parameters vary from machine to machine.  If you use
  277. a symbolic link tree, you can share site.def across all machines, and
  278. give each machine its own copy of host.def.
  279.  
  280. The config parameters are listed in xc/config/cf/README, but here are
  281. some of the new or more common parameters that you may wish to set in
  282. your xc/config/cf/site.def.
  283.  
  284. ProjectRoot
  285.      The destination where X will be installed. This variable needs to
  286.      be set before you build, as some programs that read files at run-
  287.      time have the installation directory compiled in to them.
  288.  
  289. HasVarDirectory
  290.      Set to NO if your system doesn't have /var or you don't want cer-
  291.      tain files to be installed in VarDirectory.
  292.  
  293. VarDirectory
  294.      The location of site editable configuration and run-time files.
  295.      Many sites prefer to install their X binaries on read-only media --
  296.      either a disk slice (partition) that's mounted read-only for added
  297.      security, an NFS volume mounted read-only for security and/or
  298.      improved VM paging characteristics, or from a live filesystem on a
  299.      CD-ROM. In order to simplify things like installing app-default
  300.      files for locally built software, and allowing editing of miscella-
  301.      neous configuration and policy files, and to allow xdm to create
  302.      its master Xauthority file, some directories under $Project-
  303.      Root/lib/X11 are actually installed in /var/X11, and $Project-
  304.      Root/lib/X11 contains symlinks to the directories in /var/X11.
  305.  
  306. HasGcc2
  307.      Set to YES to build with gcc version 2.x instead of your system's
  308.      default compiler.
  309.  
  310. BuildXInputExt
  311.      Set to YES to build the X Input Extension. This extension requires
  312.      device-dependent support in the X server, which exists only in Xhp
  313.      and XF86_* in the sample implementation.
  314.  
  315. DefaultUsrBin
  316.      This is a directory where programs will be found even if PATH is
  317.      not set in the environment. It is independent of ProjectRoot and
  318.      defaults to /usr/bin. It is used, for example, when connecting from
  319.      a remote system via rsh. The rstart program installs its server in
  320.      this directory.
  321.  
  322. InstallServerSetUID
  323.      Some systems require the X server to run as root to access the
  324.      devices it needs. If you are on such a system and will not be using
  325.      xdm, you may set this variable to YES to install the X server
  326.      setuid to root; however the X Project Team strongly recommends that
  327.      you not install your server suid-root, but that you use xdm
  328.      instead. Talk to your system manager before setting this variable
  329.      to YES.
  330.  
  331. InstallXdmConfig
  332.      By default set to NO, which suppresses installing xdm config files
  333.      over existing ones. Leave it set to NO if your site has customized
  334.      the files in $ProjectRoot/lib/X11/xdm, as many sites do.  If you
  335.      don't install the new files, merge any changes present in the new
  336.      files.
  337.  
  338. MotifBC
  339.      Causes Xlib and Xt to work around some bugs in older versions of
  340.      Motif.  Set to YES only if you will be linking with Motif version
  341.      1.1.1, 1.1.2, or 1.1.3.
  342.  
  343. GetValuesBC
  344.      Setting this variable to YES allows illegal XtGetValues requests
  345.      with NULL ArgVal to usually succeed, as R5 did. Some applications
  346.      erroneously rely on this behavior. Support for this will be removed
  347.      in a future release.
  348.  
  349. The following vendor-specific .cf files are in the release but have not
  350. been tested recently and hence probably need changes to work: apollo.cf,
  351. bsd.cf, convex.cf, DGUX.cf, luna.cf, macII.cf, Mips.cf, moto.cf, Oki.cf,
  352. pegasus.cf, x386.cf.  Amoeba.cf is known to require additional patches.
  353.  
  354. The file xc/lib/Xdmcp/Wraphelp.c, for XDM-AUTHORIZATION-1, is not
  355. included in this release. See ftp://ftp.x.org/pub/R6.5.1/xdm-
  356. auth/README.
  357.  
  358.  
  359. 3.6.  System Build Notes
  360.  
  361.  
  362. This section contains hints on building X with specific compilers and
  363. operating systems.
  364.  
  365. If the build isn't finding things right, make sure you are using a com-
  366. piler for your operating system. For example, a pre-compiled gcc for a
  367. different OS (e.g. as a cross-compiler) will not have right symbols
  368. defined, so imake will not work correctly.
  369.  
  370.  
  371. 3.6.1.    gcc
  372.  
  373. X will not compile on some systems with gcc version 2.5, 2.5.1, or 2.5.2
  374. because of an incorrect declaration of memmove() in a gcc fixed include
  375. file.
  376.  
  377. If you are using a gcc version prior to 2.7 on Solaris x86, you need to
  378. specify BOOTSTRAPCFLAGS="-Dsun" in the "make World" command.
  379.  
  380. If you're building on a system that has an unbundled compiler, e.g.
  381. Solaris 2.x, and you do not have the cc compiler, you need to contrive
  382. to have cc in your path in order to bootstrap imake.  One way to do this
  383. is to create a symlink cc that points to gcc.
  384.  
  385.      % cd /usr/local/bin; ln -s path-to-gcc cc
  386.  
  387. Once imake has been built all the Makefiles created with it will explic-
  388. itly use gcc and you can remove the symlink. Another way around this is
  389. to edit xc/config/imake/Makefile.ini to specify gcc instead of cc.
  390.  
  391.  
  392. 3.6.2.    Other GNU tools
  393.  
  394. Use of the GNU BinUtils assembler, as, and linker, ld, is not supported
  395. -- period! If you have them installed on your system you must rename or
  396. remove them for the duration of the R6.5.1 build.  (You can restore them
  397. afterwards.)
  398.  
  399. The system-supplied make works just fine for building R6.5.1 and that's
  400. what we suggest you use. If you've replaced your system's make with GNU
  401. make then we recommend that you restore the system make for the duration
  402. of your R6.5.1 build. After R6.5.1 is done building you can revert to
  403. GNU make. GNU make on most systems (except Linux, where it is the
  404. default make) is not a supported build configuration. GNU make may work
  405. for you, and if it does, great; but if it doesn't we do not consider it
  406. a bug in R6.5.1. If, after this admonition, you still use GNU make and
  407. your build fails, reread the above, and retry the build with the sys-
  408. tem's make before you file a bug-report.
  409.  
  410.  
  411. 3.6.3.    IBM AIX 4.x
  412.  
  413.  
  414. On AIX 4.x, the file lib/font/Type1/objects.c must be compiled without
  415. optimization (-O) or the X server and fontserver will exit when Type 1
  416. fonts are used.
  417.  
  418.  
  419. 3.6.4.    SunOS 4.0.x
  420.  
  421.  
  422. SunOS 4.0 and earlier need BOOTSTRAPCFLAGS=-DNOSTDHDRS because it does
  423. not have unistd.h and stdlib.h. Do not supply a BOOTSTRAPCFLAGS when
  424. building any SunOS 4.1 or 5.x (Solaris 2) version.
  425.  
  426.  
  427. 3.6.5.    Linux
  428.  
  429.  
  430. On Linux systems imake has preliminary support to automatically deter-
  431. mine which Linux distribution you're using. At this time it only auto-
  432. matically detects S.u.S.E. Linux. On other Linux systems you should set
  433. the LinuxDistribution parameter in your xc/config/cf/site.def -- see the
  434. xc/config/cf/linux.cf file for the list of valid values. On Linux sys-
  435. tems imake will also automatically determine which version of libc and
  436. binutils your system has. You may override these in your xc/con-
  437. fig/cf/site.def file.
  438.  
  439. Many distributions of Linux have poor or no support for ANSI/POSIX/ISO C
  440. locale support. If your Linux distribution is one of these you should
  441. make certain that the imake variable LinuxLocaleDefines is set to
  442. -DX_LOCALE so that compose processing and other internationalization
  443. features will work correctly. To help decide if you should use
  444. -DX_LOCALE, look in /usr/share/locale -- if it's empty, you should prob-
  445. ably use the -DX_LOCALE define.
  446.  
  447.  
  448. 3.6.6.    Microsoft Windows NT
  449.  
  450.  
  451. All of the base libraries are supported, including multi-threading in
  452. Xlib and Xt, but some of the more complicated applications, specifically
  453. xterm and xdm, are not supported.
  454.  
  455. There are also some other rough edges in the implementation, such as
  456. lack of support for non-socket file descriptors as Xt alternate inputs
  457. and not using the registry for configurable parameters like the system
  458. filenames and search paths.
  459.  
  460. The Xnest server has been made to run on NT; although it still requires
  461. a real X server for output still. A real X server can not be built from
  462. these sources -- in order to display X applications on a MS-Windows host
  463. you will have to acquire a real X Server.
  464.  
  465. You have several choices for imake's RmTreeCmd. Look at the possible
  466. definitions in the xc/config/cf/Win32.cf file, choose one that's right
  467. for you, and add it to your xc/config/cf/site.def file.
  468.  
  469.  
  470. 3.7.  The Build
  471.  
  472.  
  473. For all the supported UNIX and UNIX-like systems you can simply type (in
  474. csh):
  475.  
  476.      % make World >& world.log
  477.  
  478. You can call the output file something other than "world.log"; but don't
  479. call it "make.log" because files with this name are automatically
  480. deleted during the initial "cleaning" stage of the build.
  481.  
  482. The build can take several hours on older systems, and may take as lit-
  483. tle as an hour on the faster systems that are available today. On UNIX
  484. and UNIX-like systems you may want to run it in the background and keep
  485. a watch on the output. For example:
  486.  
  487.      % make World >& world.log &
  488.      % tail -f world.log
  489.  
  490.  
  491. If something goes wrong, the easiest thing is to correct the problem and
  492. start over again, i.e. typing "make World".
  493.  
  494.  
  495. 3.7.1.    UNIX and UNIX-like systems
  496.  
  497.  
  498. Check your vendor-specific .cf file; if it doesn't have BootstrapCFlags
  499. that apply to your version of the operating system then type (in csh):
  500.  
  501.      % make World >& world.log
  502.  
  503.  
  504. Otherwise type (in csh):
  505.  
  506.      % make World BOOTSTRAPCFLAGS="value" >& world.log
  507.  
  508.  
  509. None of the supported operating systems need to use BOOTSTRAPCFLAGS.
  510.  
  511.  
  512. 3.7.2.    Microsoft Windows NT
  513.  
  514.  
  515. On NT, make certain your Path, Include, and Lib environment variables
  516. are set accordingly. For example here we use the command line compiler
  517. in VC++ 4.0 Standard Edition, which is installed in C:\MSDEVSTD. To
  518. setup the environment type:
  519.  
  520.      > set Path=old-path;C:\MSDEVSTD\bin;C:\path-to-RmTreeCmd
  521.      > set Include=C:\MSDEVSTD\include
  522.      > set Lib=C:\MSDEVSTD\lib
  523.  
  524. Then to build, at the prompt, type:
  525.  
  526.      C:\> nmake World.Win32 > world.log
  527.  
  528.  
  529.  
  530. 3.8.  Installing X
  531.  
  532.  
  533. After the build has successfully completed you can install the software
  534. by typing the following as root:
  535.  
  536.      % make install >& install.log
  537.  
  538. or on Microsoft Windows NT
  539.  
  540.      C:\> nmake install > install.log
  541.  
  542.  
  543. Again, you might want to run this in the background and use tail to
  544. watch the progress.
  545.  
  546. You can install the manual pages by typing the following as root:
  547.  
  548.      % make install.man >& man.log
  549.  
  550.  
  551.  
  552. 3.9.  Shared Libraries
  553.  
  554.  
  555. The version number of some of the the shared libraries has been changed.
  556. On SunOS 4, which supports minor version numbers for shared libraries,
  557. programs linked with the R6.5.1 libraries will use the new libraries
  558. with no special action required.
  559.  
  560. On most other modern operating systems the version portion of the
  561. library name, i.e. "6.1" portion of "libX11.so.6.1" is a string. Even if
  562. it's only one character long, e.g. "1" (as in libX11.so.1) it's still a
  563. string. This string uniquely identifies and distinguishes one version of
  564. the library from another. Even though all the libraries in this release
  565. are compatible with the libraries from previous releases, and there's
  566. otherwise no reason to change the version string, we do it to identify
  567. which source release the libraries were built from.
  568.  
  569. An old program that was linked with libXext.so.6.3 won't run if you
  570. delete libXext.so.6.3 and install libXext.so.6.4 in its place. In gen-
  571. eral on these systems you have the following choices:
  572.  
  573. 1.   Keep the old versions of the libraries around.
  574.  
  575. 2.   Relink all applications with the new libraries.
  576.  
  577. 3.   Create a symlink using the old name which points to the new name.
  578.  
  579.      For example, to have programs that were linked against libX-
  580.      ext.so.6.3 use libXext.so.6.4, make this symlink:
  581.  
  582.       % cd $ProjectRoot/lib
  583.       % ln -s libXext.so.6.4 libXext.so.6.3
  584.  
  585.  
  586. On some distributions of Linux the run-time loader is broken -- requir-
  587. ing that the library's internal SONAME match the filename -- and the
  588. symlink solution won't work. We recommend that you get a new run-time
  589. loader which is not broken or recompile your run-time loader to not
  590. require that the SONAME match.
  591.  
  592.  
  593. 3.10.  Setting Up xterm
  594.  
  595.  
  596. If your /etc/termcap and /usr/lib/terminfo databases do not have correct
  597. entries for xterm, use the sample entries provided in the directory
  598. xc/programs/xterm/. System V users may need to compile and install the
  599. terminfo entry with the tic utility.
  600.  
  601. Since each xterm will need a separate pseudoterminal, you need a reason-
  602. able number of them for normal execution. You probably will want at
  603. least 32 on a small, multiuser system. On most systems, each pty has two
  604. devices, a master and a slave, which are usually named
  605. /dev/tty[pqrstu][0-f] and /dev/pty[pqrstu][0-f]. If you don't have at
  606. least the "p" and "q" sets configured (try typing "ls /dev/?ty??"), you
  607. should have your system administrator add them.  This is commonly done
  608. by running the MAKEDEV script in the /dev directory with appropriate
  609. arguments.
  610.  
  611.  
  612. 3.11.  Starting Servers Automatically at System Boot
  613.  
  614.  
  615. The xfs and xdm programs are designed to be run automatically at system
  616. startup. Please read the manual pages for details on setting up configu-
  617. ration files; reasonable sample files are in xc/programs/xdm/config/ and
  618. xc/programs/xfs/.
  619.  
  620. Since xfs can serve fonts over the network, you do not need to run a
  621. font server on every machine with an X display. You should start xfs
  622. before xdm, since xdm may start an X server which is a client of (depen-
  623. dent on) the font server.
  624.  
  625.  
  626. 3.11.1.  On BSD-based systems using /etc/rc or /etc/rc.local
  627.  
  628.  
  629. If your system uses an /etc/rc or /etc/rc.local file at boot time, you
  630. can usually enable these programs by placing the following at or near
  631. the end of the file:
  632.  
  633.      if [ -f $ProjectRoot/bin/xfs ]; then
  634.          $ProjectRoot/bin/xfs & echo -n ' xfs'
  635.      fi
  636.  
  637.      if [ -f $ProjectRoot/bin/xdm ]; then
  638.          $ProjectRoot/bin/xdm; echo -n ' xdm'
  639.      fi
  640.  
  641.  
  642. On later versions of FreeBSD the preferred way of doing this is to cre-
  643. ate the directory $ProjectRoot/etc/rc.d. Add this directory to the
  644. local_startup variable defined in /etc/rc.conf, and then create short
  645. scripts in this directory to start xfs and xdm.
  646.  
  647. If you are unsure about how system boot works, or if your system does
  648. not use /etc/rc, consult your system administrator for help.
  649.  
  650.  
  651. 3.11.2.  On Linux systems
  652.  
  653.  
  654. Most Linux distributions have an /etc/inittab entry specifically for
  655. xdm. Depending on your distribution this may be run-level three, four,
  656. or five. To use xdm, edit /etc/inittab and find the line which contains
  657. initdefault and change it from 2 to the appropriate run-level
  658.  
  659. You Linux distribution may already have a script to start xdm at a par-
  660. ticular run-level. For example on S.u.S.E. Linux 5.0 there is the file
  661. /sbin/init.d/xdm, and the symlink /sbin/init.d/rc3.d/S30xdm which points
  662. to /sbin/init.d/xdm. Change /sbin/init.d/xdm to use $Project-
  663. Root/bin/xdm. You can use the xdm script as a model write an xfs script.
  664. Depending on your Linux distribution you may find these files in
  665. /etc/init.d instead of /sbin/init.d.
  666.  
  667.  
  668. 3.11.3.  On Digital Unix, HPUX 10, and SVR4 systems
  669.  
  670.  
  671. Most systems run xdm by default at some particular run-level of the sys-
  672. tem. There is a master init.d file and a run-level symlink rc?.d that
  673. points to the master init.d file:
  674.  
  675.  Operating System    rc?.d symlink          init.d file
  676.  
  677.  Digital Unix 4.0    /sbin/rc3.d/S95xlogin    /sbin/init.d/xlogin
  678.  HPUX 10.20         /sbin/rc3.d/S800xdm      /sbin/init.d/xdm
  679.  Solaris 2.[0-4]
  680.  Solaris 2.5         /etc/rc3.d/S99xdm          /etc/init.d/xdm.rc
  681.  Solaris 2.6         /etc/rc2.d/S99dtlogin    /etc/init.d/dtlogin
  682.  IRIX 6.2         /etc/rc2.d/S98xdm          /etc/init.d/xdm
  683.  Unixware         /etc/rc2.d/S69xdm          /etc/init.d/xdm
  684.  
  685. In general you can edit the init.d file to use $ProjectRoot/bin/xdm. You
  686. can use the xdm file as a model to write an /etc/rc?.d/S??xfs file to
  687. start xfs. Some systems may already have files to start xfs. Starting in
  688. Solaris 2.5 Sun uses inetd to start xfs -- you should remove the xfs
  689. entries from /etc/inetd.conf and /etc/services before adding xfs to the
  690. run-level files.
  691.  
  692.  
  693. 3.11.4.  On SystemV-based systems
  694.  
  695.  
  696. On systems with a /etc/inittab file, you can edit this file to add the
  697. lines
  698.  
  699.      xfs:3:once:$ProjectRoot/bin/xfs
  700.      xdm:3:once:$ProjectRoot/bin/xdm
  701.  
  702.  
  703.  
  704.  
  705. 3.12.  Using OPEN LOOK applications
  706.  
  707.  
  708. You can use the X11R6.x Xsun server with OPEN LOOK applications; but you
  709. must pass the -swapLkeys flag to the server on startup, or the OPEN LOOK
  710. Undo, Copy, Paste, Find, and Cut keys may not work correctly. For exam-
  711. ple, to run Sun's OpenWindows 3.3 desktop environment with an X11R6
  712. server, use the command:
  713.  
  714.      % openwin -server $ProjectRoot/bin/Xsun -swapLkeys
  715.  
  716.  
  717. The keysyms reported by keys on the numeric keypad have also changed
  718. since X11R5; if you find that OpenWindows applications do not respond to
  719. keypad keys and cursor control keys when using an R6 server, you can
  720. remap the keypad to generate R5 style keysyms using the following
  721. xmodmap commands:
  722.  
  723.      keysym Pause = F21
  724.      keysym Print = F22
  725.      keysym Break = F23
  726.      keysym KP_Equal = F24
  727.      keysym KP_Divide = F25
  728.      keysym KP_Multiply = F26
  729.      keysym KP_Home = F27
  730.      keysym KP_Up = Up
  731.      keysym KP_Prior = F29
  732.      keysym KP_Left = Left
  733.      keycode 100 = F31
  734.      keysym KP_Right = Right
  735.      keysym KP_End = F33
  736.      keysym KP_Down = Down
  737.      keysym KP_Next = F35
  738.      keysym KP_Insert = Insert
  739.      keysym KP_Delete = Delete
  740.  
  741.  
  742.  
  743. 3.13.  Rebuilding after Patches
  744.  
  745.  
  746. Eventually you are going to make changes to the sources, for example by
  747. applying any public patches that may be released or to fix any bugs you
  748. may have found.
  749.  
  750. If only source files are changed, rebuild by going to the base of your
  751. source tree xc and typing:
  752.  
  753.      % make >& make.log
  754.  
  755.  
  756. If there are imake configuration file changes, the best thing to do is
  757. type:
  758.  
  759.      % make Everything >& every.log
  760.  
  761.  
  762. "Everything" is similar to "World" in that it rebuilds every Makefile,
  763. but unlike "World" it does not delete the existing objects, libraries,
  764. and executables, and only rebuilds what is out of date.
  765.  
  766.  
  767. 3.14.  Formatting the Documentation
  768.  
  769.  
  770. The PostScript files in xc/doc/hardcopy can be generated from the
  771. sources in xc/doc/specs. Most of the documentation is in troff using the
  772. -ms macros. The easiest way to format it is to use the Imakefiles pro-
  773. vided.
  774.  
  775. Set the name of your local troff program by setting the variable Trof-
  776. fCmd in xc/config/cf/site.def. Then build the Makefiles:
  777.  
  778.      cd xc/doc
  779.      make SUBDIRS=specs Makefiles
  780.  
  781.  
  782. Finally, go to the directory you are interested in and type "make"
  783. there. This command will generate .PS files. You can also generate text
  784. files by specifying the document name with a .txt extension as a make
  785. target, e.g., "make icccm.txt".
  786.  
  787.  
  788. 4.  Public Patches
  789.  
  790.  
  791. The Open Group X Project Team may from time to time issue public patches
  792. for this release to fix any serious problems that are discovered. Such
  793. fixes are a subset of fixes available to X Project Team members. Public
  794. patches are available via anonymous FTP from
  795. ftp://ftp.x.org/pub/R6.5.1/fixes, or from your local X mirror site.
  796. Check the site closest to you first.
  797.  
  798. You can determine which public patches have already been applied to your
  799. source tree by examining the "VERSION" line of xc/bug-report. The source
  800. in the tar files you have may already have some patches applied; you
  801. only need to apply later patches. If you try to apply patches out of
  802. order or apply patches that are already in your tree, patch will tell
  803. you that you have the wrong version and not apply the patch.
  804.  
  805. Source for the patch program is in xc/util/patch/. The patch program
  806. included on some systems may not support all the options this version
  807. has. If you have problems applying patches, or if you're otherwise in
  808. doubt, use this version.
  809.  
  810.  
  811.