home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume27 / top-3.2 / part02 / INSTALL < prev    next >
Encoding:
Text File  |  1993-08-08  |  6.2 KB  |  138 lines

  1.                              TOP
  2.                          Version 3.2
  3.  
  4.                        William LeFebvre
  5.              and a cast of dozens
  6.  
  7. INSTALLATION
  8.  
  9. Configuration and installation of top is very straightforward.  After
  10. unpacking the sources, run the script "Configure".  It will present you
  11. with a series of questions, all of which should be explained in the
  12. presentation.  After you have answered all the questions, "Configure" will
  13. perform all the necessary configuration.  Once this is finished, type
  14. "make install".  Make will compile the sources then install the resulting
  15. executable and manual page in the appropriate places.
  16.  
  17. The most difficult step in the configuration is the choice of an
  18. appropriate machine-specific module.  The Configure script gives you a
  19. list of choices complete with brief descriptions of when each choice is
  20. appropriate.  Each module is contained in a separate c file in the
  21. directory "machine".  The module contains all of the machine-specific code
  22. that makes top work correctly on the architecture in question.  All of the
  23. code in the top-level directory is machine-independent (or at least
  24. strives to be).  Hints for some module choices that are not obvious are
  25. given at the end of this file.
  26.  
  27. The first comment in each c file in that directory contains the synopsis
  28. AND a detailed description of the machines for which that module is
  29. appropriate.  It also contains a list of authors for that module.  If you
  30. are really stumped in this choice, use grep to find your machine
  31. manufacturer's name or operating system name in machine/*.c.  If you still
  32. can't find one that is appropriate, then chances are very good that one
  33. hasn't been written yet.  If that is the case, then you are out of luck.
  34.  
  35. HANDLING MULTIPLE ARCHITECTURES
  36.  
  37. If you need to recompile top for a different architecture (that is, using
  38. a different module) you need to reconfigure top.  A short cut is available
  39. to make this a little easier.  If all of your previous answers to the
  40. configuration questions (except for the module name of course) are
  41. adequate for the new architecture, then you can just use the command
  42. "Configure <modulename>".  The configuration script will reconfigure top
  43. using the new module and all the answers you gave last time.  It will
  44. finish with a "make clean".  Once that completes, type "make install"
  45. and make will compile the sources and do the installation.
  46.  
  47. HANDLING MULTIPLE OS VERSIONS
  48.  
  49. By far the most frequently received bug report for top is something like
  50. this: "We just upgraded our operating system to version 99.9.9.9 and top
  51. broke.  What should we do?"  The simple answer is "recompile".
  52.  
  53. Top is very sensitive to changes in internal kernel data structures
  54. (especially the proc and user structures).  Some operating systems
  55. (especially SunOS) are notorious for changing these structure in every
  56. minor release of the OS.  This means that a top executable made under one
  57. version of the OS will not always work correctly (if even at all) under
  58. another version.  This is just one of those tough facts of life.  There is
  59. really no way around it.
  60.  
  61. To make life even worse, some operating systems (SunOS again) will use
  62. slightly different proc and user structures on different models.  For
  63. example, "top" built on a SparcStation 2 will not run correctly on a
  64. SparcStation 10, even if they are both running SunOS 4.1.3.  These
  65. unfortunate circumstances makes maintaining top very difficult, especially
  66. in an environment that runs several different versions of the same
  67. operating system.
  68.  
  69. But there is hope.  If your operating system has a properly functioning
  70. "uname" command then you can handle this problem rather gracefully.
  71. Included in the distribution is a shell file called "metatop".  All this
  72. shell file does is:
  73.  
  74.     exec top-`uname -m`-`uname -r` "$@"
  75.  
  76. So when you run this script, it execs a filename that is unique to your
  77. specific machine architecture and your OS revision number.
  78.  
  79. To use "metatop", do the following:
  80.  
  81.     . on any machine, run Configure and choose the module that is
  82.       appropriate for the machine
  83.     . for all machines which use the same module:
  84.         . group machines according to machine architecture AND OS
  85.           revision number (i.e.: sun4-4.1.1, sun4c-4.1.1, sun4c-4.1.2,
  86.           sun4-4.1.3, sun4c-4.1.3, sun4m-4.1.3, ...)
  87.         . for each group, choose one machine from that group and on it
  88.           run "make clean; make installmeta".
  89.  
  90.  
  91. The "installmeta" rule in the makefile will insure that top is compiled,
  92. install the shell file "metatop" as "top", then install the executable
  93. "top" with a name appropriate to the machine architecture and OS revision.
  94.  
  95.  
  96. HINTS FOR CHOOSING THE CORRECT MODULE:
  97.  
  98. SUN MULTIPROCESSOR ARCHITECTURES
  99.  
  100. First, we need to be speaking the same language:
  101.  
  102. sun4    a regular sparc sun 4 architecture machine (sparc station 1,
  103.     sparc station 2, IPC, SLC, etc.)
  104.  
  105. sun4m    a multiprocessor sparc (Sparc 10, 4/670, 4/690)
  106.  
  107. I intended to write the sunos4 module so that an executable compiled on a
  108. sun4m machine would work correctly on a sun4 machine.  Unfortunately my
  109. experiments indicate that this cannot be done.  It turns out that the user
  110. structure is so different between these two architectures that nothing
  111. short of a serious hack will make the same executable work correctly on
  112. both machines.  I recommend that you use the separate module "sunos4mp"
  113. when making an executable for a sun4m architecture, and use "sunos4" when
  114. making an executable for sun4 or sun4c architectures.
  115.  
  116. There is a bug in the sunos5 module which prevents it from working
  117. correctly on machines that contain more than one processor (single
  118. processor sun4m machines seem to run just fine).  A fix is pending.
  119.  
  120. SOLBOURNE OPERATING SYSTEM (OS/MP)
  121.  
  122. If you are running OS/MP version 4.1A, then use the module "osmp4.1a".
  123.  
  124. If you are running a version of OS/MP OLDER than 4.1A (that is, one
  125. of its predecessors), use the module "sunos4".
  126.  
  127. If you are running OS/MP 4.1B or LATER, use the module "sunos4mp".
  128.  
  129. HP/UX OPERATING SYSTEM
  130.  
  131. The module hpux8 works on all version 8 systems.  Some say that it works
  132. with version 9 as well, but one user did send me a separate module for
  133. version 9.  This module has only been tested on series 800 machines.  I
  134. would recommend the following for those running version 9: try hpux9 and
  135. if it doesn't work then try hpux8.  If neither work, then send mail to me
  136. and/or the modules' authors.
  137.  
  138.