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