1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
|
TinyFugue for UNIX-like systems
Installing TinyFugue
TinyFugue should work on any Unix-like system that has BSD-style
select(). This includes almost everything except some old SVr3-like
systems which either do not have select(), or have a select() that
works only on STREAMS devices but not terminals.
Installing TinyFugue is quite easy on most Unix-like systems: simply
type "sh unixmake" in the top directory. The tfconfig script
will attempt to figure out everything it needs to know about your
system and install all files in their proper location. If you have any
problems, or want to change a default installation option, be sure to
read the rest of this file, and the unix/Config file. Changes should be
made in unix/Config only.
unixmake options:
install Compile for default locations and install (this is default).
local Compile for /usr/local/*/tf-{version}*, but do not install.
files Compile for default locations, but do not install.
clean Remove object files and other junk from source directory.
uninstall Remove tf executable, help files, and library from their
installed locations.
File Locations
--------------
If you do not explicitly define the file locations in unix/Config, TF will
try to install them in these places:
/usr/local/bin and /usr/local/lib, if you used "sh unixmake local"; or,
/usr/local/bin and /usr/local/lib, if you have write permission; or,
$HOME/bin and $HOME/lib, if they exist; or,
$HOME, if all of the above fail.
The man page is not installed by default. To change the location of a
file, edit the appropriate variable in unix/Config, using a full path
name.
If SYMLINK is set in unix/Config, its value will be used as the name of a
symbolic link to the file named by TF. This is useful for giving
all the files a name that includes a version number, so they can be
installed without problem even if old versions are currently in use.
If you move or rename any files after installing (this includes copying
TF to another machine where the file paths are different), you must let
TF know. One way is to edit unix/Config and compile again. The other is to
set environment variable TFLIBDIR to the new path before running tf.
This can be done with a shell script like this:
#!/bin/sh
TFLIBDIR=/new/location/of/lib/tf-lib
export TFLIBDIR
exec /new/location/of/bin/tf $*
The variables TFHELP and TFLIBRARY can also be set in the environment,
but this should not normally be necessary, since their default values are
based on TFLIBDIR.
Public Installation
-------------------
If you have write permission in /usr/local/bin and /usr/local/lib, TinyFugue
will be installed there by default. Or you can use "unixmake local" or
change the locations by editing unix/Config as described above. The Makefile
will then put all files in their proper location with the proper permissions.
Some features of TF can be disabled for secure public installation, by using
the /restrict commands in %{TFLIBDIR}/local.tf. See ../README.
Terminal Handling
-----------------
unix/tfconfig will try termcap-compatible libraries in this order: the
one specified in unix/Config (if any); termcap; ncurses; curses.
If none of those work, tf will use hardcoded vt100 codes.
Installation Problems
---------------------
The unix/tfconfig script can usually figure out everything it needs to
know to configure TinyFugue for your unix-like system. But if it fails
because your system is brain damaged, you may need to edit some lines
in the unix/Config file. Try installing with the defaults at least once
before making any of these changes.
Problem: On AIX 4.1, a bug in gcc 2.8.0 causes /addworld and some operators to
fail with an error like "% internal error: reduce: bad op 037777777703"
Solution: use a different compiler (cc or xlc) or a different version of
gcc (2.7.2 is known to work).
Problem: On SunOS 5.4 (Solaris 2.4), connections fail with "Resource
temporarily unavailable".
Solution: Install patch 101945(?) from sunsite.unc.edu/pub/patches
Problem: On OSF/1 with gcc, compile errors involving 'sigval_t',
'union sigval', or 'clock_id'.
Solution: in Config: CC=cc
Problem: With gcc, compile errors involving va_list or __builtin_va_alist.
Solution: in Config: CC=cc
Problem: Hostnames don't work on SunOS 4.0.x.
Solution: in Config: LIBS='-lresolv'
Problem: Ioctl or tcgetattr errors when compiled with gcc.
Solution: in Config: FLAGS='-traditional'
Problem: Your system is Apollo Domain/OS.
Solution: in Config: FLAGS='-U__STDC__'
Problem: On debian linux, undefined references to tgetent, tgetstr, tgetnum,
tgoto, tputs.
Solution: Get an ELF termcap library, or add /usr/i486-linuxaout/bin to your
PATH.
Problem: On DYNIX/ptx 4 or later, runtime error saying that -linet is not
needed. (Why do they have it if it's not needed!?)
Solution: Run "./unixmake config", edit src/Makefile to remove "-linet"
from the LIBS line, and run "./unixmake".
SOCKS Proxy
-----------
TF supports the SOCKS proxy server. If your site uses SOCKS to connect
to outside hosts through a firewall (this is probably true if you use
"rtelnet" instead of "telnet"), then set SOCKS='yes' in the unix/Config file.
TF can also be made to connect through a generic proxy server by setting
the %proxy_host variable at runtime. See "/help proxy".
Last Resort
-----------
If you think TF won't compile because of a bug or incompatibility with
your system (you followed all the instructions, and it still won't
work), email the author at hawkeye@tf.tcp.com. Please include the version
number of TF, and describe the type of system on which you are trying
to compile, or at the very least, the address of the system. Use
"uname -a", if available, to get the system type; if not, look at the
message you see when you log in. Also include the file "Build.log",
generated by unixmake (please send it in plaintext, not MIME encoded).
If TF does compile, but has other problems, read "/help bugs" before
mailing a report.
For bug reports, questions, suggestions, etc., I can be reached by
email at hawkeye@tf.tcp.com. Please provide the following information:
The version of TF (type "/version" in tf).
The operating system version (on unix, type "uname -a" in the shell).
If tf won't compile, send the Build.log file (in plaintext form).
If you have a bug or core, give me all error messages from tf.
If you have a bug or core, tell me what you did or what happened
before the problem, and if the problem is repeatable.
If you have a core, do _not_ send the core file.
|