INSTALL_unix.texi 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  1. @comment -*-texinfo-*-
  2. @comment Id: INSTALL_unix.texi,v 1.1 2003/08/08 14:27:06 pertusus Exp $
  3. @c FILE: INSTALL_unix.texi
  4. @c PURPOSE: Installation instruction for Singular on Unix
  5. @c
  6. @ifclear VERSION
  7. @include version.texi
  8. @end ifclear
  9. @ifclear singularmanual
  10. @majorheading Unix installation instructions for @sc{Singular} version @value{VERSION}
  11. @end ifclear
  12. @ifclear UNAME
  13. @set _UNAME <uname>
  14. @end ifclear
  15. @ifset UNAME
  16. @include uname.texi
  17. @end ifset
  18. To install @sc{Singular} on a
  19. @ifset UNAME
  20. @value{_UNAME}
  21. @end ifset
  22. @ifclear UNAME
  23. Unix
  24. @end ifclear
  25. platform, you need the following two
  26. archives:
  27. @table @code
  28. @item Singular-@value{VERSION}-share.tar.gz
  29. contains architecture independent data like documentation and libraries
  30. (alternatively, you may also download
  31. @code{Singular-@value{VERSION}-share.zip}).
  32. @item Singular-@value{VERSION}-@value{_UNAME}.tar.gz
  33. contains architecture dependent executables, like the @sc{Singular}
  34. program.
  35. @end table
  36. @ifclear UNAME
  37. @*
  38. @code{@value{_UNAME}} is a description of the processor and operating system
  39. for which @sc{Singular} is compiled (e.g, @code{ix86-Linux}). Please contact us if
  40. you can not find an appropriate architecture dependent archive.
  41. @end ifclear
  42. You can obtain these (and other) archives from
  43. @display
  44. @uref{ftp://www.mathematik.uni-kl.de/pub/Math/Singular}.
  45. @end display
  46. @include register.texi
  47. @heading To install SINGULAR
  48. Make sure that you have approximately 12MByte of free disk space and follow
  49. these steps.
  50. @enumerate
  51. @item
  52. Simply change to the directory in which you wish to install
  53. @sc{Singular} (usually wherever you install 3rd-party software), for example:
  54. @smallexample
  55. cd /usr/local
  56. or
  57. mkdir install;cd install
  58. (you do not need root privileges in this case)
  59. @end smallexample
  60. @sc{Singular} specific subdirectories will be created in such a way
  61. that multiple versions and multiple architecture dependent files
  62. of @sc{Singular} can peaceably coexist under the same @code{/usr/local}
  63. tree.
  64. @item
  65. Unpack the archives:
  66. @smallexample
  67. gzip -dc <path_to>/Singular-@value{VERSION}-@value{_UNAME}.tar.gz | tar -pxf -
  68. gzip -dc <path_to>/Singular-@value{VERSION}-share.tar.gz | tar -pxf -
  69. @end smallexample
  70. @c version 2-0-x does not have *-share.zip:
  71. @c If you have downloaded @code{Singular-@value{VERSION}-share.zip},
  72. @c unpack with
  73. @c @smallexample
  74. @c unzip -u Singular-@value{VERSION}-share.zip
  75. @c @end smallexample
  76. This creates the the directory Singular/@value{VERSION} with
  77. @multitable @columnfractions .36 .64
  78. @item (sub)directories
  79. @tab which contain
  80. @item @code{@value{_UNAME}}
  81. @tab @code{Singular} and @code{ESingular} executables
  82. @item @code{LIB}
  83. @tab @sc{Singular} libraries (@code{*.lib} files)
  84. @item @code{emacs}
  85. @tab files for the @sc{Singular} Emacs user interface
  86. @item @code{info}
  87. @tab info files of @sc{Singular} manual
  88. @item @code{html}
  89. @tab html files of @sc{Singular} manual
  90. @item @code{doc}
  91. @tab miscellaneous documentation files
  92. @item @code{examples}
  93. @tab @sc{Singular} examples (@code{*.sing} files)
  94. @end multitable
  95. For the executable to work, the directory layout must look pretty much
  96. like this; the executable looks for "sibling" directories at run-time
  97. to figure out where its @sc{Singular} libraries and on-line
  98. documentation files are. These constraints on the local directory layout
  99. are necessary to avoid having to hard-code pathnames into the
  100. executables, or require that environment variables be set before
  101. running the executable. In particular, you @strong{must not move or copy}
  102. the @sc{Singular} executables to another place, but use soft-links
  103. instead.
  104. @end enumerate
  105. The following steps are optional:
  106. @itemize @bullet
  107. @item
  108. Arrange that typing @code{Singular} at the shell prompt starts up the
  109. installed @sc{Singular} executable.
  110. If you have root permission, do:
  111. @smallexample
  112. ln -s `pwd`/Singular/@value{VERSION}/@value{_UNAME}/Singular /usr/local/bin/Singular-@value{VERSION}
  113. ln -s `pwd`/Singular/@value{VERSION}/@value{_UNAME}/ESingular /usr/local/bin/ESingular-@value{VERSION}
  114. ln -s /usr/local/bin/Singular-@value{VERSION} /usr/local/bin/Singular
  115. ln -s /usr/local/bin/ESingular-@value{VERSION} /usr/local/bin/ESingular
  116. @end smallexample
  117. Otherwise, append the directory
  118. @code{`pwd`/Singular/@value{VERSION}/@value{_UNAME}/} to your @code{$PATH}
  119. environment variable. For the @code{csh} (or, @code{tcsh}) shell do:
  120. @smallexample
  121. set path=(`pwd`/Singular/@value{VERSION}/@value{_UNAME} $path)
  122. @end smallexample
  123. For the @code{bash} (or, @code{ksh}) shell do:
  124. @smallexample
  125. export PATH=`pwd`/Singular/@value{VERSION}/@value{_UNAME}/:$PATH
  126. @end smallexample
  127. You also might want to adjust your personal start-up files
  128. (@code{~/.cshrc} for @code{csh}, @code{~/.tcshrc} for @code{tcsh}, or
  129. @code{~/.profile} for @code{bash}) accordingly,
  130. so that the @code{$PATH} variable is set automatically each time you login.
  131. @strong{IMPORTANT:} Do @emph{never} move or copy the file
  132. @code{Singular/@value{VERSION}/@value{_UNAME}/Singular} to another
  133. place, but use soft-links instead.
  134. @item
  135. If you wish to use any of following features of
  136. @sc{Singular}, make sure that the respective programs are installed on your system:
  137. @multitable @columnfractions .5 .5
  138. @item @strong{Feature} @tab @strong{Requires}
  139. @item running @code{ESingular}, or @code{Singular} within Emacs
  140. @tab @uref{http://www.fsf.org/software/emacs/emacs.html,,Emacs} version
  141. 20 or higher, or, @uref{http://www.xemacs.org,,XEmacs} version 20.3 or
  142. higher (ESingular is only included in the Linux distribution,
  143. on other Unix platforms you can download the
  144. @uref{ftp://www.mathematik.uni-kl.de/pub/Math/Singular/src/,,
  145. Singular emacs lisp files} but we give no warranties for specific platforms).
  146. @item on-line @code{html} help
  147. @tab @uref{http://www.netscape.com,,netscape} browser
  148. @item on-line @code{info} help
  149. @tab @uref{http://www.texinfo.org,,info}, or
  150. @uref{http://math-www.uni-paderborn.de/~axel/tkinfo/,,tkinfo} texinfo browser programs
  151. @item TAB completion and history mechanism of ASCII-terminal interface
  152. @tab shared @uref{ftp://ftp.de.uu.net/pub/gnu/readline/,,readline}
  153. library, i.e. @code{/usr/lib/libreadline.so}
  154. @item visualization of curves and surfaces
  155. @tab
  156. @uref{http://www.mathematik.uni-mainz.de/AlgebraischeGeometrie/surf/surf.shtml,,surf}
  157. version 0.9 or higher (only available for Linux and Solaris).
  158. @end multitable
  159. You may download most of these programs from
  160. @display
  161. @uref{ftp://www.mathematik.uni-kl.de/pub/Math/Singular/utils/}.
  162. @end display
  163. @item Customize the on-line help system:
  164. By default, on-line help is displayed in the @code{html} format using
  165. the @code{netscape} program.
  166. However, this behavior can be customized in several ways
  167. using the @sc{Singular} commands @code{system("--browser",<browser>)}
  168. and @code{system("--allow-net", 1)} (or, by starting up @sc{Singular}
  169. with the respective command line options).
  170. In particular, creating the file
  171. @code{Singular/@value{VERSION}/LIB/.singularrc} and putting the
  172. @sc{Singular} command
  173. @smallexample
  174. system("--allow-net", 1);
  175. @end smallexample
  176. in it, allows the on-line help system to fetch its @code{html} pages
  177. from @uref{http://www.singular.uni-kl.de, Singular's WWW
  178. home site}
  179. in case its local html pages are not found. That is, you may delete your
  180. local html pages, after setting this option.
  181. See also
  182. @ifset singularmanual
  183. @ref{The online help system}, @ref{Command line options}, and
  184. @ref{Startup sequence},
  185. @end ifset
  186. @ifclear singularmanual
  187. the sections @emph{The online help system}, @emph{Command line options}, and
  188. @emph{Startup sequence} in the @sc{Singular} manual
  189. @end ifclear
  190. for more details on customizing the on-line help system.
  191. @item
  192. Add the line
  193. @smallexample
  194. * Singular:(singular.hlp). A system for polynomial computations
  195. @end smallexample
  196. to your system-wide @code{dir} file (usually @code{/usr/info/dir} or
  197. @code{/usr/local/info/dir} and copy or soft-link the file
  198. @code{Singular/@value{VERSION}/info/singular.hlp}
  199. to the directory of your @code{dir} file.
  200. @*This assures that the
  201. @sc{Singular} manual can be accessed from stand-alone texinfo
  202. browser programs such as @code{info} or @code{Emacs}.
  203. (It is not necessary for the use of the help system from within @code{Singular}.)
  204. @end itemize
  205. @heading Troubleshooting
  206. @itemize @bullet
  207. @item General: @sc{Singular} can not find its libraries or on-line help
  208. @enumerate
  209. @item
  210. Make sure that you have read and/or execute permission the files and
  211. directories of the Singular distribution. If in doubt, @code{cd} to the
  212. directory where you unpacked @sc{Singular}, and do (as root, if
  213. necessary):
  214. @smallexample
  215. chmod -R a+rX Singular
  216. @end smallexample
  217. @item
  218. Start up @sc{Singular}, and issue the command @code{system("Singular");}.
  219. If this does not return the correct and expanded location of the
  220. @sc{Singular} executable, then you found a bug in @sc{Singular}, which we
  221. ask you to report (see below).
  222. @item
  223. Check whether the directories containing the libraries and on-line help
  224. files can be found by @sc{Singular}: If @code{$bindir} denotes the
  225. directory where the @sc{Singular} executable resides, then @sc{Singular}
  226. looks for library files as follows:
  227. @* (0) the current directory
  228. @* (1) all dirs of the environment variable SINGULARPATH
  229. @* (2) @code{$bindir/LIB}
  230. @* (3) @code{$bindir/../LIB}
  231. @* (4) @code{/usr/local/Singular/@value{VERSION}/LIB}
  232. @* (4) @code{/usr/local/Singular/LIB}
  233. @* The on-line @code{info} files need to be at @code{$bindir/../info} and the
  234. @code{html} pages at @code{$bindir/../html}.
  235. @end enumerate
  236. You can inspect the found library and @code{info}/@code{html}
  237. directories by starting up @sc{Singular} with the
  238. @code{--version} option, or by issuing the @sc{Singular} command
  239. @code{system("--version");}.
  240. @item Under SuSE-Linux, @sc{ESingular} does not display a prompt:
  241. @cindex SuSE, ESingular bug
  242. @cindex ESingular, no prompt
  243. @cindex bug, ESingular
  244. This is due to the very restrictive access rights of @code{/dev/pty*} of
  245. the standard @uref{http:/www.suse.de,SuSE} distribution (starting from
  246. version 6.3 on). As root, do one of the following: Either
  247. @example
  248. chmod 666 /dev/pty*
  249. @end example
  250. or,
  251. @example
  252. chmod g+s $(which emacs)
  253. chgrp tty $(which emacs)
  254. chmod g+s $(which xemacs)
  255. chgrp tty $(which xemacs)
  256. @end example
  257. See also @uref{http://sdb.suse.de/sdb/de/html/ke_devpts-63.html} for
  258. details.
  259. @item For @code{HPUX} systems:
  260. @*The /etc/termcap files which are pre-installed on these systems are
  261. broken which leads to messages like
  262. @example
  263. Name collision between 9826 9836
  264. @end example
  265. when @sc{Singular} is started. To fix this, you can get fixed termcap
  266. files from @uref{ftp://www.mathematik.uni-kl.de/pub/Math/Singular/utils}
  267. by downloading the files termcap-<uname-description> and either
  268. replace your /etc/termcap file by the file found there, or view, and
  269. redo the respective changes by @code{diff}'ing the downloaded and the
  270. original file.
  271. @item For @code{ix86-Linux} systems:
  272. @*Due to some incompatibilities of shared libraries, the start-up of
  273. @sc{Singular} might fail with messages like
  274. @example
  275. Can not find shared library ...
  276. @end example
  277. For DEBIAN systems, try to do
  278. @code{ln -s /usr/lib/libncurses.so /usr/lib/libncurses.so.4}.
  279. @*If this fails (and on other systems)
  280. download and install
  281. @code{Singular-@value{VERSION}-ix86-Linux-static.tar.gz}.
  282. @item For @code{AIX} systems:
  283. @*The default @code{info} program of the system is not GNU's texinfo
  284. browser which is used to display the on-line documentation in the
  285. @code{info} format. Therefore, the distribution of the AIX executable
  286. already contains the @code{info} browser program.
  287. If you remove this program, make sure that the GNU
  288. @code{info} program is executed if you call '@code{info}' from your shell.
  289. @item For any other troubles:
  290. @*Please send an email to @email{singular@@mathematik.uni-kl.de}
  291. and include the header which is displayed by starting up @sc{Singular}
  292. with the @code{-v} option, and a description of your machine (issue the
  293. command @code{uname -a} on your shell) in your report.
  294. @end itemize
  295. @include info.texi
  296. @ifclear singularmanual
  297. GOOD LUCK and ENJOY!
  298. Your @sc{Singular} team.
  299. @end ifclear