home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / windows / x / 20791 < prev    next >
Encoding:
Internet Message Format  |  1993-01-06  |  8.5 KB

  1. Path: sparky!uunet!bcstec!bcsaic!sundry!sdc!cek
  2. From: cek@sdc.boeing.com (Conrad Kimball)
  3. Newsgroups: comp.windows.x
  4. Subject: Re: Compiling X11R4
  5. Keywords: X11R4
  6. Message-ID: <7722@fury.BOEING.COM>
  7. Date: 5 Jan 93 19:55:52 GMT
  8. References: <2g4kwB1w165w@tmchome.UUCP>
  9. Sender: news@sdc.boeing.com
  10. Organization: Boeing Computer Services, Seattle, WA
  11. Lines: 221
  12. Nntp-Posting-Host: zulu
  13.  
  14. In article <2g4kwB1w165w@tmchome.UUCP>, tchal@tmchome.UUCP (Thomas M. Chalfant) writes:
  15. |> Fellow netters:
  16. |> 
  17. |> I am experiencing some problems getting the standard MIT X11R4 distribution to
  18. |> compile with no errors.  Could someone offer some help?  Here's a synopsis
  19. |> of our setup.
  20. |> 
  21. |> Sun Server running SunOs 4.1.2, standard MIT X11R4 distribution.  I rlogin to
  22. |> the server from my workstation, change to the appropriate directory and issue
  23. |>    'make World >& make.world'
  24. |> as instructed in the install docs.  This is after making changes to the
  25. |> site.def, etc.; and after applying patches 1-18.  All patches seemed to apply
  26. |> fine with the exception of one patch that was being applied to the IBM server
  27. |> code (which I will not be using anyway).  Hence I ignored this problem.
  28. |> 
  29. |> After looking at make.world, it has a bunch of errors when compiling the
  30. |> client programs.  The errors have to do with ld and a bunch of undefined
  31. |> symbols mostly with names of Intrinisics functions prepended with an
  32. |> underscore.  However, some of these same programs seem to run just fine with
  33. |> casual observance.
  34.  
  35. The R4 Xmu shared library is being built incorrectly.  Sun changed the
  36. way ld works in SunOS 4.1.2, and while MIT fixed the build problem in
  37. R5, R4 exhibits problems.  Sun has binary patches for their R4-based
  38. OPENWINDOWS 3.0 product (see the FAQ for details), but has not released
  39. source code patches.  I have developed a patch that I use, which you
  40. can find on export.lcs.mit.edu as file:
  41.     contrib/X11R4_sunos4.1.2_patch_version3.Z
  42. It essentially retrofits the R5 library build changes into R4.
  43.  
  44. |> By the way, there is a vendor's X11R4 distribution already installed on the
  45. |> server in the default location.  I desire to no longer use the vendor supplied
  46. |> version for various reasons (no source, not all patches applied, etc.), and
  47. |> would also like to install X in other than the default location to make
  48. |> upgrades easier in the future, and to facilitate having more than one version
  49. |> available for testing purposes, etc.
  50.  
  51. You can, at build time, configure X11R4 to "live" in a non-standard
  52. location.  I use the patches enclosed below to do this.  The compiled
  53. libraries and executables will still contain compiled-in path names
  54. reflecting this non-standard location, so if you want to change that
  55. location again, you will need to rebuild everything.
  56.  
  57. I also have patches to R4 that change all the compiled-in path names
  58. to use an environment variable, similar to the way Sun's OPENWINDOWS
  59. uses $OPENWINHOME, but the patches are too extensive (~2000 lines) to
  60. post here.  Then I can move the installed R4 anywhere and simply adjust
  61. a single environment variable to point to that location.  (I'm working
  62. on putting this facility into R5, too, but I'm not done yet.)
  63.  
  64. |> Also, I intend to compile OSF Motif next, and again would like to install
  65. |> this in other than the default location to facilitate having multiple versions
  66. |> for testing, etc.
  67.  
  68. I have corresponding patches to Motif 1.1.4 to allow it to live in a
  69. nonstandard location, and to use an environment variable to point to
  70. its installed location.  I'm not sure about how to distribute Motif
  71. patches without running into license problems - can anyone help me
  72. out here?
  73.  
  74. |> Does anyone have any suggestions for me to try?  I am open to anyone's
  75. |> comments.
  76.  
  77. Following are the patches I use to build X11R4 to live in a nonstandard
  78. location.  Some of these are configuration patches, others are fixes to
  79. get several components to honor the nonstandard configuration settings.
  80. -----------------------------------
  81. This patch configures the MIT X-Window Version 11 Release 4 tape to have
  82. X-Windows live in the directories:
  83.  
  84.     $(DESTDIR)/adm
  85.     $(DESTDIR)/bin
  86.     $(DESTDIR)/include/X11
  87.     $(DESTDIR)/lib
  88.     $(DESTDIR)/man
  89.  
  90. This allows X11R4 to coexist with another version of X-Windows that may
  91. already be installed on the system.  The actual home location is determined
  92. by another patch that #define-s the DestDir cpp symbol, which in turn
  93. becomes the $(DESTDIR) make macro.
  94.  
  95.  
  96. *** mit/config/site.def.orig    Sun Dec 17 15:06:24 1989
  97. --- mit/config/site.def    Fri Sep 21 12:21:55 1990
  98. ***************
  99. *** 169,171 ****
  100. --- 169,194 ----
  101.   #ifndef InstallXinitConfig
  102.   #define InstallXinitConfig YES
  103.   #endif
  104. + /*
  105. +  * Install X11R4 in non-standard directory hierarchies.
  106. +  */
  107. + #ifndef AdmDir
  108. + #define AdmDir $(DESTDIR)/adm
  109. + #endif
  110. + #ifndef BinDir
  111. + #define BinDir $(DESTDIR)/bin
  112. + #endif
  113. + #ifndef IncRoot
  114. + #define IncRoot $(DESTDIR)/include
  115. + #endif
  116. + #ifndef ManDirectoryRoot
  117. + #define ManDirectoryRoot /man
  118. + #endif
  119. + #ifndef UsrLibDir
  120. + #define UsrLibDir $(DESTDIR)/lib
  121. + #endif
  122. -----------------------------------
  123. This patch configures the MIT X-Window Version 11 Release 4 tape to have
  124. X-Windows live in the directory tree rooted in "/usr/local/x11r4" rather
  125. than "/".  This allows X11R4 to coexist with another version of X-Windows
  126. that may already be installed on the system.
  127.  
  128.  
  129. *** mit/config/site.def.orig    Sun Dec 17 15:06:24 1989
  130. --- mit/config/site.def    Fri Sep 21 12:21:55 1990
  131. ***************
  132. *** 192,194 ****
  133. --- 192,201 ----
  134.   #ifndef UsrLibDir
  135.   #define UsrLibDir $(DESTDIR)/lib
  136.   #endif
  137. + /*
  138. +  * Install X11R4 under /usr/local/x11r4 rather than /
  139. +  */
  140. + #ifndef    DestDir
  141. + #define    DestDir        /usr/local/x11r4
  142. + #endif
  143. -----------------------------------
  144. This patch fixes the "showrgb" command to default to reading its rgb
  145. database from the one defined in the "config" directory files, rather
  146. than always reading "/usr/lib/X11/rgb".
  147.  
  148.  
  149. *** mit/rgb/Imakefile.orig    Sat Nov 18 12:44:51 1989
  150. --- mit/rgb/Imakefile    Wed May 27 23:02:16 1992
  151. ***************
  152. *** 1,5 ****
  153.         DEPLIBS = 
  154. !       DEFINES = NdbmDefines
  155.        INCLUDES = -I$(TOP) -I$(SERVERSRC)/include
  156.    INSTALLFLAGS = $(INSTLIBFLAGS)
  157.           SRCS1 = rgb.c
  158. --- 1,25 ----
  159. + /*
  160. +  * The following configuration parameter may be set in the appropriate
  161. +  * .macros files or site.def in the directory util/imake.includes/:
  162. +  *
  163. +  *     DefaultRGBDatabase             RGB_DB
  164. +  *
  165. +  * The sample util/imake.includes/Imake.tmpl will provide generic defaults.
  166. +  * The values in site.h are simply a last line of defense and should not be
  167. +  * changed.
  168. +  */
  169. + #ifdef DefaultRGBDatabase
  170. +     DEFAULTRGBDATABASE = DefaultRGBDatabase
  171. +     SITE_RGB_DB = -DRGB_DB='"$(DEFAULTRGBDATABASE)"'
  172. + #else
  173. +     SITE_RGB_DB = -DRGB_DB='"/usr/lib/X11/rgb"'
  174. + #endif
  175. +  SITE_DEFINES = $(SITE_RGB_DB)
  176.         DEPLIBS = 
  177. !       DEFINES = NdbmDefines $(SITE_DEFINES)
  178.        INCLUDES = -I$(TOP) -I$(SERVERSRC)/include
  179.    INSTALLFLAGS = $(INSTLIBFLAGS)
  180.           SRCS1 = rgb.c
  181. -----------------------------------
  182. This patch fixes xdm to correctly look in the configuration-defined
  183. $(XDMDIR) for the DEF_KEY_FILE and DEF_REMOTE_AUTH_DIR definitions,
  184. rather than always using "/usr/lib/X11/xdm/Xkeys" and "/usr/lib/X11/xdm".
  185.  
  186.  
  187. *** mit/clients/xdm/Imakefile.orig    Sun Oct  6 20:49:49 1991
  188. --- mit/clients/xdm/Imakefile    Thu May 28 22:40:51 1992
  189. ***************
  190. *** 70,75 ****
  191. --- 70,77 ----
  192.             '-DDEF_FAILSAFE_CLIENT="$(BINDIR)/xterm"' \
  193.             '-DDEF_XDM_CONFIG="$(XDMDIR)/xdm-config"' \
  194.             '-DDEF_AUTH_FILE="$(XDMDIR)/auth-server"' \
  195. +           '-DDEF_REMOTE_AUTH_DIR="$(XDMDIR)"' \
  196. +           '-DDEF_KEY_FILE="$(XDMDIR)/Xkeys"' \
  197.             '-DCPP_PROGRAM="$(CPP_PROGRAM)"'
  198.   
  199.   ComplexProgramTarget_1(xdm,$(LOCAL_LIBRARIES), /**/)
  200. -----------------------------------
  201. This patch fixes the Xmu library to look in the proper place for the
  202. bitmap directory.  Previously it always compiled to look in the
  203. "/usr/include/X11/bitmaps" directory, even when the rest of the X11R4
  204. distribution had been told that the "include" directory was something
  205. other than "/usr/include/X11".  Thanks go to Dan Greening of UCLA
  206. for pointing out this problem to me.
  207.  
  208.  
  209. *** mit/lib/Xmu/Imakefile.orig    Sun Jun  9 18:30:10 1991
  210. --- mit/lib/Xmu/Imakefile    Sun Jun  9 18:53:03 1991
  211. ***************
  212. *** 15,20 ****
  213. --- 15,21 ----
  214.   #ifdef OsNameDefines
  215.   OS_NAME_DEFINES = OsNameDefines
  216.   #endif
  217. +         DEFINES = -DBITMAPDIR='"$(INCDIR)/bitmaps"'
  218.           CSSDEFS = $(OS_NAME_DEFINES) ConnectionFlags
  219.   
  220.   HEADERS = \
  221.  
  222. --
  223. Conrad Kimball       | Client Server Tech Services, Boeing Computer Services
  224. cek@sdc.boeing.com   | P.O. Box 24346, MS 7A-35
  225. (206) 865-6410       | Seattle, WA  98124-0346
  226.