home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / AP / MC / _MC.TAR / usr / doc / mc / INSTALL < prev    next >
Encoding:
Text File  |  1995-02-28  |  16.2 KB  |  428 lines

  1. -*-text-*-
  2.  
  3. This file contains:
  4.  
  5. - Installation instructions and notes for the Midnight Commander
  6. - Where to get more information on the Midnight Commander
  7. - Note on the enhanced terminfo databases
  8. - Common problems
  9. - Information on porting the program
  10. - Obtaining the missing pieces of the Midnight Commander
  11.  
  12.  
  13. Installation instructions for the Midnight Commander
  14. ----------------------------------------------------
  15.  
  16.    The `configure' shell script attempts to guess correct values for
  17. various system-dependent variables used during compilation, and creates
  18. the Makefile.  It also creates a file `config.status' that you can run
  19. in the future to recreate the current configuration.
  20.  
  21. To compile this package:
  22.  
  23. 1.  Configure the package for your system.
  24.  
  25.    Normally, you just `cd' to the directory containing the package's
  26. source code and type `./configure'.  If you're using `csh' on an old
  27. version of System V, you might need to type `sh configure' instead to
  28. prevent `csh' from trying to execute `configure' itself (under AIX,
  29. you may need to use ksh instead of sh).
  30.  
  31.    Running `configure' takes awhile.  While it is running, it
  32. prints some messages that tell what it is doing.  If you don't want to
  33. see any messages, run `configure' with its standard output redirected
  34. to `/dev/null'; for example, `./configure >/dev/null'.
  35.  
  36.    To compile the package in a different directory from the one
  37. containing the source code, you must use a version of `make' that
  38. supports the `VPATH' variable, such as GNU `make'.  `cd' to the
  39. directory where you want the object files and executables to go and run
  40. the `configure' script.  `configure' automatically checks for the
  41. source code in the directory that `configure' is in and in `..'.  If
  42. for some reason `configure' is not in the source code directory that
  43. you are configuring, then it will report that it can't find the source
  44. code.  In that case, run `configure' with the option `--srcdir=DIR',
  45. where DIR is the directory that contains the source code.
  46.  
  47.    By default, `make install' will install the package's files in
  48. `/usr/local/bin', `/usr/local/man', etc.  You can specify an
  49. installation prefix other than `/usr/local' by giving `configure' the
  50. option `--prefix=PATH'.  Alternately, you can do so by consistently
  51. giving a value for the `prefix' variable when you run `make', e.g.,
  52.      make prefix=/usr/gnu
  53.      make prefix=/usr/gnu install
  54.  
  55.    You can specify separate installation prefixes for
  56. architecture-specific files and architecture-independent files.  If
  57. you give `configure' the option `--exec-prefix=PATH' or set the `make'
  58. variable `exec_prefix' to PATH, the package will use PATH as the
  59. prefix for installing programs and libraries.  Data files and
  60. documentation will still use the regular prefix.  Normally, all files
  61. are installed using the same prefix.
  62.  
  63.     The program detects if you have the gpm library installed.  If you
  64. installed the gpm mouse library in a non-standard place, you will need
  65. to use the --with-gpm-mouse flag with the directory base where you
  66. installed the gpm package.
  67.  
  68.    `configure' also recognizes the following options:
  69.  
  70. `--help'
  71.      Print a summary of the options to `configure', and exit.
  72.  
  73. `--quiet'
  74. `--silent'
  75.      Do not print messages saying which checks are being made.
  76.  
  77. `--verbose'
  78.      Print the results of the checks.
  79.  
  80. `--version'
  81.      Print the version of Autoconf used to generate the `configure'
  82.      script, and exit.
  83.  
  84. `--with-gpm-mouse=PATH'
  85.      Use this flag if your GPM mouse package is not installed in
  86.      a standard place.  The configure will append `lib' and
  87.      `include' to find the libgpm.a and gpm.h files respectively.
  88.  
  89. `--with-mmap'
  90.      Needed when compiling under AIX if you want the fast viewer.
  91.  
  92. `--with-bsd-curses'
  93.  
  94.      If you don't want to use ncurse and are using an Ultrix box, you
  95.      can use this switch.  Be aware that ncurses is a better option
  96.      than the curses included in Ultrix.
  97.  
  98. `--with-sunos-curses'
  99.  
  100.      You use this flag on SunOS machines if you want to use SunOS 4.x
  101.      curses instead of ncurses.  You don't need this flag if you don't
  102.      have ncurses installed: it's only needed to force the usage of
  103.      SunOS curses over ncurses.
  104.  
  105. `--with-ncurses=directory'
  106.      Use this flag if your ncurses is not installed in any of the
  107.      places configure will check (/usr/include, /usr/include/ncurses,
  108.      /usr/local/include and /usr/local/include/ncurses).
  109.  
  110.      The argument to this flag is the base directory where the ncurses
  111.      files are located.  The configure will append lib and include to
  112.      find the libncurses.a and ncurses.h file respectively.  For
  113.      example, if you have installed ncurses under /gnu/lib and
  114.      /gnu/include, you specify: --with-ncurses=/gnu
  115.  
  116.      You will need the ncurses package only if your system does not
  117.      provide a compatible curses.  If after compiling, the program
  118.      says that it can't resolve the has_colors function, then you need
  119.      the ncurses package.
  120.  
  121.    `configure' also accepts and ignores some other options.
  122.  
  123.    On systems that require unusual options for compilation or linking
  124. that the package's `configure' script does not know about, you can give
  125. `configure' initial values for variables by setting them in the
  126. environment.  In Bourne-compatible shells, you can do that on the
  127. command line like this:
  128.  
  129.      CC='gcc -traditional' LIBS=-lposix ./configure
  130.  
  131. On systems that have the `env' program, you can do it like this:
  132.  
  133.      env CC='gcc -traditional' LIBS=-lposix ./configure
  134.  
  135.    Here are the `make' variables that you might want to override with
  136. environment variables when running `configure'.
  137.  
  138.    For these variables, any value given in the environment overrides the
  139. value that `configure' would choose:
  140.  
  141.  - Variable: CC
  142.      C compiler program.  The default is `cc'.
  143.  
  144.  - Variable: INSTALL
  145.      Program to use to install files.  The default is `install' if you
  146.      have it, `cp' otherwise.
  147.  
  148.    For these variables, any value given in the environment is added to
  149. the value that `configure' chooses:
  150.  
  151.  - Variable: DEFS
  152.      Configuration options, in the form `-Dfoo -Dbar...'.  Do not use
  153.      this variable in packages that create a configuration header file.
  154.  
  155.  - Variable: LIBS
  156.      Libraries to link with, in the form `-lfoo -lbar...'.
  157.  
  158.    If you need to do unusual things to compile the package, we encourage
  159. you to figure out how `configure' could check whether to do them, and
  160. mail diffs or instructions to the address given in the README so we
  161. can include them in the next release.
  162.  
  163. 2.  Type `make' to compile the package.  If you want, you can override
  164. the `make' variables CFLAGS and LDFLAGS like this:
  165.  
  166.     make CFLAGS=-O2 LDFLAGS=-s
  167.  
  168. 3.  If the package comes with self-tests and you want to run them,
  169. type `make check'.  If you're not sure whether there are any, try it;
  170. if `make' responds with something like
  171.     make: *** No way to make target `check'.  Stop.
  172. then the package does not come with self-tests.
  173.  
  174. 4.  Type `make install' to install programs, data files, and
  175. documentation.
  176.  
  177. 5.  If you want to use the Linux console screen saver, type `make
  178. install.saver'.  This compiles the `cons.saver' executable and
  179. installs it in the directory specified by the `prefix' variable.
  180.  
  181. 6.  You can remove the program binaries and object files from the
  182. source directory by typing `make clean'.  To also remove the
  183. Makefile(s), the header file containing system-dependent definitions
  184. (if the package uses one), and `config.status' (all the files that
  185. `configure' created), type `make distclean'.
  186.  
  187.    The file `configure.in' is used to create `configure' by a program
  188. called `autoconf'.  You only need it if you want to regenerate
  189. `configure' using a newer version of `autoconf'.
  190.  
  191.  
  192. - Where to get more information on the Midnight Commander
  193. ---------------------------------------------------------
  194.  
  195. Janne Kukonlehto set up a WWW page, here is the URL:
  196. http://stekt.oulu.fi/~jtklehto/mc/
  197.  
  198. We also a set of mailing lists for the program:
  199.  
  200. mc-announce: Announcements of new version of the Midnight Commander.
  201. mc-digest:   Digest version of the mc list.
  202. mc-patches:  Patches by mail (also on the ftp site).
  203. mc:          Dicussion on the Midnight Commander file manager.
  204. mc-devel:    For discussion between the developers of the program.
  205.  
  206. to subscribe to the mailing lists, send a message to:
  207.  
  208. majordomo@roxanne.nuclecu.unam.mx
  209.  
  210. with the following text in the body of the message:
  211.  
  212. subscribe <list-name> [address]
  213.  
  214. The adress is optional and list-name is one of the above list names
  215. (mc, mc-announce, mc-patches or mc-digest).
  216.  
  217.  
  218. Notes about the Midnight Commander installation
  219. ------------------------------------------------
  220.  
  221. The Midnight Commander has been run in the following configurations:
  222.  
  223. i386-linux-linux1.0
  224. i386-linux-linux1.1
  225. mips-dec-ultrix4.3
  226. mips-sgi-irix5.2
  227. rs6000-ibm-aix3.2.5
  228. sparc-sun-sunos4.1
  229. sparc-sun-netbsd1.0
  230. sparc-sun-solaris2.3
  231. hppa-hp-hpux9
  232. hppa-hp-hpux7
  233. m68k-apple-aux
  234.  
  235. Since the Midnight Commander is configured via the GNU autoconf
  236. program, it's not difficult to run it in other operating systems.
  237.  
  238. If you're using AIX, with the cc6000 compiler, you have to specify the
  239. `--with-mmap' command line option. 
  240.  
  241. You'll need GNU C (or an ANSI C Compiler) and a color curses library
  242. (ncurses is a good choice).  For more information on obtaining these
  243. programs refer to the section "Obtaining the missing pieces" in this
  244. file.
  245.  
  246. The best choice is to use ncurses 1.8.5.2 available in
  247. ftp.nuclecu.unam.mx in the /Midnight directory.  The program can be
  248. compiled with Ultrix's curses using the --with-bsd-curses and on SunOS
  249. 4.x SystemV curses with the --with-sunos-curses.
  250.  
  251. Many Linux systems ship with version 1.8.0 or 1.8.1; the Midnight
  252. Commander may run with it, but some bugs in this version of NCurses
  253. sometimes make the display look strange (which is not the intention).
  254. Also, there is a new version 1.8.6 and 1.8.7 of ncurses, you may run
  255. into some problems installing those versions.
  256.  
  257. So, if you have the time, give yourself a little present and install
  258. the ncurses 1.8.5.2 library on your box.
  259.  
  260. VERY IMPORTANT: On some architectures, the default compilation mode
  261. for ncurses it to include the buggy OPT_MVCUR in the Makefile.  If
  262. that is the case, please remove it before compiling.
  263.  
  264. Since version 0.9 the Midnight Commander comes with mouse support on
  265. xterms and in the Linux console. In order to take advantage of the
  266. mouse support on the Linux console you will need the gpm mouse server
  267. (see the section "Obtaining the Missing Pieces" in this file).
  268.  
  269. Once you get the Mouse Server, compile it and install it, then you
  270. will have to specify the `--with-gpm-mouse' flag to the configure
  271. program if you installed it in a non-standard directory.  If you
  272. installed the gpm package under /usr or /usr/local, you don't need to
  273. specify this flag; configure will find gpm for you.  The support for
  274. mice on xterms is always compiled in.
  275.  
  276. We are working on further enhancements to the program, but we're not
  277. sure which ones must go first.  If you would like to point us in the
  278. Right Direction we will be glad to hear from you (you could check the
  279. file TODO included with this distribution for the current projects).
  280.  
  281. If you happen to find an undocumented feature that doesn't do what you
  282. expected, please drop us a note telling us as much as you can about
  283. the problem you're experiencing (to miguel@roxanne.nuclecu.unam.mx).
  284.  
  285.  
  286. Enhanced terminfo databases
  287. ---------------------------
  288.  
  289. The distribution comes some enhanced terminfo databases: "xterm.ti",
  290. "vt100.ti" and "linux.ti".  They are a superset of the databases
  291. provided with NCurses 1.8.5.  "vt100.ti" adds support for graphic
  292. characters on VT100-compatible terminals, "xterm.ti" adds support for
  293. graphic characters and color on color xterms, and "linux.ti" is an
  294. up-to-date database for the Linux console, with entries for shifted
  295. function keys.
  296.  
  297. To install the databases, do something like this (mutatis mutandis):
  298.  
  299.     mv *.ti /usr/lib/terminfo/data
  300.     cd /usr/lib/terminfo
  301.     tic data/vt100.ti
  302.     tic data/xterm.ti
  303.     tic data/linux.ti
  304.  
  305. Common Problems
  306. ---------------
  307.  
  308. o The Insert character doesn't mark files.
  309. ------------------------------------------
  310.  
  311. It's common to have an NCurses 1.8.5 that doesn't include an entry in
  312. the terminfo database for the Insert character (this character is used
  313. for marking files). In this case, you should edit the console terminfo
  314. source file (probably residing in /usr/lib/terminfo/data) and include
  315. a line defining the insert character escape sequence. On the Linux
  316. console, you should add this entry:
  317.  
  318.     kich1=\e[2~
  319.  
  320. After this, rerun the tic command for the edited console entry (it
  321. should install a new console entry in /usr/lib/terminfo/c). This
  322. problem is not present with the Slackware 2.0 Linux distribution.
  323.  
  324. o The program just hangs when it's run on my machine
  325. ----------------------------------------------------
  326.  
  327. In big endian machines like the Sun Sparc, version 1.8.5 of the
  328. ncurses 1.8.5 package has a bug. There is a patch for ncurses
  329. available in:
  330. ftp.netcom.com:/pub/zmbenhal/ncurses/ncurses-1.8.5
  331.  
  332. If you are going to use it under Linux/386 or Ultrix you don't need
  333. this patch.
  334.  
  335. o I can't use the F-keys, I can't quit the program
  336. --------------------------------------------------
  337.  
  338. If your terminal doesn't send the escape sequences for the 10 function
  339. keys, you can always type the ESC key and then a number in the range
  340. 1..9 and 0 to simulate the F1 trough F10 keys.
  341.  
  342.  
  343. o The program does not use colors with color_xterm
  344. --------------------------------------------------
  345.  
  346. The program depends on the environement variable TERM to detect the
  347. terminal type.  The terminfo databases that come with the Midnight
  348. Commander program use "xterm" and "xterm-color" to diferentiate
  349. between those terminals.  To use colors on a color_xterm, you could
  350. run the program like this:
  351.  
  352. TERM=xterm-color mc
  353.  
  354. Or use the command: color_xterm -tn xterm-color.
  355.  
  356. In order for this to work you will also need to update the
  357. /etc/termcap file to have an entry for xterm-color (you can copy the
  358. xterm definition).
  359.  
  360.  
  361. Porting the program
  362. -------------------
  363.  
  364. Random notes on porting to other architectures.  
  365.  
  366. The program requires normally ncurses.  If you don't want to install
  367. ncurses and your OS is a SystemV Release 4 variant, maybe the curses
  368. supplied with your system will do the work.  If you experience display
  369. problems, then it means that we are dealing with a buggy
  370. implementation of curses.  You have two options: one, download ncurses
  371. and recompile with ncurses or recompile all your source code with the
  372. symbol BUGGY_CURSES defined.  
  373.  
  374. The fast way to do this is to:
  375.  
  376. make clean; make XINC=-DBUGGY_CURSES
  377.  
  378. The correct thing is that you add a detection case to the file
  379. ncurses.h (provided with this program) and again, run: make clean;
  380. make;
  381.  
  382. If you add the detection case, please, send me a patch, so that I
  383. could include it in future versions of the program.
  384.  
  385.  
  386. Obtaining the missing pieces of the Midnight Commander
  387. ------------------------------------------------------
  388.  
  389. o The NCurses 1.8.5.2 library may be obtained from:
  390.  
  391.   ftp.nuclecu.unam.mx:/Midnight.
  392.  
  393.   When compiling ncurses, please check that you don't define
  394.   OPT_MVCUR since it's buggy.
  395.  
  396. o The GPM Mouse Server is available at:
  397.  
  398.   iride.unipv.it:/pub/gpm
  399.  
  400.  
  401. To get the mouse support working on the Linux console:
  402.  
  403. If you're using Linux version >= 1.1.34, then you will have to choose yes
  404. to selection when you compile your kernel. If your Linux version is
  405. older than this one, you may try to apply one of the patches included in
  406. the gpm package.
  407.  
  408. And the GNU C Compiler may be obtained from the following sites:
  409.  
  410.         ASIA: ftp.cs.titech.ac.jp, utsun.s.u-tokyo.ac.jp:/ftpsync/prep,
  411.   cair.kaist.ac.kr:/pub/gnu
  412.         AUSTRALIA: archie.au:/gnu (archie.oz or archie.oz.au for ACSnet)
  413.         AFRICA: ftp.sun.ac.za:/pub/gnu
  414.         MIDDLE-EAST: ftp.technion.ac.il:/pub/unsupported/gnu
  415.         EUROPE: irisa.irisa.fr:/pub/gnu, ftp.univ-lyon1.fr:pub/gnu,
  416.   ftp.mcc.ac.uk, unix.hensa.ac.uk:/pub/uunet/systems/gnu,
  417.   src.doc.ic.ac.uk:/gnu, ftp.win.tue.nl, ugle.unit.no, ftp.denet.dk,
  418.   ftp.informatik.rwth-aachen.de:/pub/gnu, ftp.informatik.tu-muenchen.de,
  419.   ftp.eunet.ch, nic.switch.ch:/mirror/gnu, nic.funet.fi:/pub/gnu,
  420.   isy.liu.se,   ftp.stacken.kth.se, ftp.luth.se:/pub/unix/gnu, archive.eu.net
  421.         CANADA: ftp.cs.ubc.ca:/mirror2/gnu
  422.         USA: wuarchive.wustl.edu:/mirrors/gnu, labrea.stanford.edu,
  423.   ftp.kpc.com:/pub/mirror/gnu, ftp.cs.widener.edu, uxc.cso.uiuc.edu,
  424.   col.hp.com:/mirrors/gnu, ftp.cs.columbia.edu:/archives/gnu/prep,
  425.   gatekeeper.dec.com:/pub/GNU, ftp.uu.net:/systems/gnu
  426.  
  427.  
  428.