Changeset 43ab88 in git for README


Ignore:
Timestamp:
Jul 19, 2010, 10:09:14 AM (14 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'c5facdfddea2addfd91babd8b9019161dea4b695')
Children:
378031f151cd465e83af6341324637b6d74403c1
Parents:
044f7b9e8eee684268ecd739905e81b5cc83cb37
git-author:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2010-07-19 10:09:14+02:00
git-committer:
Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 11:55:23+01:00
Message:
rules for include files
File:
1 edited

Legend:

Unmodified
Added
Removed
  • README

    r044f7b r43ab88  
    1 How to compile SINGULAR from sources
    2 ************************************
     1Rules for inlude files:
     2- include files from the current subdir via #include "abc.h"
     3- include header from other subdirs vai #include <def.h>
     4  ( do NOT use a specific path - this may change!)
     5- include privtae header files via path: #include "../other_dir/ppp.h"
     6  - should be avoided!
    37
    4 SINGULAR is a Computer Algebra system for polynomial computations with
    5 special emphasize on the needs of commutative algebra, algebraic
    6 geometry, singularity theory and polynomial system solving. For a more
    7 detailed overview of SINGULAR, see
    8      `http://www.singular.uni-kl.de/Overview/'
     8Classes of files
     9- public header:
     10  - should be installed at a central place ($includedir)
     11  - should itself only include other public headers
     12- private header:
     13  - will not be installed at other places
     14  - will (usually) only be included from that subdir
    915
    10 So far, there are only versions for Linux, HPUX, SunOS, IRIX, AIX,
    11 FreeBSD 4.x/5.x, MacOS X, and Windows 95/98/NT/2K/XP.
    12 
    13 Version 2-0-2 was the last version for MacOS 9.
    14 
    15 The Windows version also runs on Windows Vista, provided
    16 that "rebase all" was done after installing Cygwin.
    17 
    18 Note for Singular-3-0-x:
    19 Currently, there are only only "complete" archives: Singular-3-0-x-x.tar.gz
    20 which contain all needed files.
    21 
    22 Compiling SINGULAR for a Unix platform
    23 ======================================
    24 
    25 Make sure that you have approximately 120 MByte of free disk space and
    26 follow these steps.
    27 (the "optional" for bison applies to version 3-0-3-1 and later)
    28 
    29   1. Make sure that you have the following software (the list may be
    30      incomplete):
    31        1.   general unix utilities: grep, test, sed, cp, mv, gzip,
    32           uudecode, ...
    33 
    34        2.   autoconf
    35 
    36        3.   gnu-make
    37 
    38        4.   gcc, g++ (version 2.95.3 preferred,   but gcc version 2.7.2
    39           to 2.95.4, egcs 1.0.3 and 1.1.2 should work,   gcc 2.96 does
    40           not work)
    41           gcc 3.0 does not work, gcc 3.1.x, gcc 3.2.x, gcc 3.3.x/3.4.x should
    42           gcc 4.x: beginnig with Singular-3-0-0-4, for some architectures
    43                    beginning with Singular-3-0-2: for all architectures
    44 
    45        5.  optional: if you want to change Singular/grammar.y:
    46             bison (version >= 1.2.2)
    47             (bison (GNU Bison) 1.75 seems not to work)
    48             (version 1.75 is supported in Singular 2-0-4a and newer)
    49            
    50             Remark:
    51               bison 1.875 on solaris produces code which gcc does not accept
    52 
    53        6.    optional: if you want to change Singular/scanner.l
    54              or modules/modgen/scanner.l:
    55              flex (version >=2.4, <=2.5.4)
    56 
    57        7.   perl (version >=5)
    58 
    59        8.   library gmp (version >=3.1.1)
    60             (version 4.x.x is supported in Singular 2-0-4 and newer)
    61 
    62        9.   library libncurses or libtermcap or libcurses
    63 
    64       10.   (optional) library libreadline
    65             (required on linux glibc systems)
    66 
    67       11.   (optional, required to build the documentation:)
    68           latex2html, tex, texi2html, texinfo
    69           (your latex2html should produce gif files, not png files)
    70 
    71   2. (optional, required for MP:)
    72      make sure that you can log in to your computer via rsh/remsh or
    73      ssh without a password (check .rhosts/.shosts);
    74      (in versions before 3-0-0: the
    75      configure script stops while checking this: if you cannot fix it,
    76      simply kill the rsh/ssh-processes - the configure will then
    77      disable this particulare feature)
    78      The following should work:
    79      rsh localhost uname
    80      ssh localhost uname
    81      rsh `hostname` uname
    82      ssh `hostname` uname
    83 
    84   3. You need to download all of the .tar.gz-files
    85      (since 3-0-0 we have only one large source .tar.gz-file)
    86 
    87   4. create a new working directory
    88 
    89   5. unpack all packages into that working directory
    90 
    91   6. (optional, for porting to a unknown machine:) fix ./singuname.sh
    92      not to report something unknown, but to recognize the machine
    93 
    94   7. run ./configure
    95      (try ./configure -help, ./omalloc/configure -help, ./MP/configure
    96      -help, ./factory/configure -help, ./Singular/configure -help for a
    97      list of all options of configure)
    98 
    99      BEWARE: some of the option are for testing only,
    100      they will usually not work in general:
    101      --with-Plural,--with-plural (you need a Singuilar version > 2.1.2 for this)
    102        (standard since  version 3-0-0)
    103      --with-sgroup (you need the sgroup programs for this)
    104      --with-smallgmp (not maintained), removed in 3-0-0
    105      --with-namespaces (you need a Singuilar version > 2.1.x for this)
    106        (standard since  version 3-0-0)
    107      
    108 
    109   8. make install (resp. gmake install - the make program must be
    110      GNU-Make) the make process will (hopefully) build:
    111        1.   omalloc: the memry management routines (required)
    112 
    113        2.   MP: Multi-Protocoll (optional)
    114 
    115        3.   NTL (optional, but strongly recommended)
    116 
    117        4.   factory and libfac
    118             (optional, but strongly recommended:
    119             some functionality will be lost if they are missing)
    120 
    121        5.   kernel, Singular (Kernel, required)
    122 
    123        6.   only for share-dist: doc
    124             (only possible, if all optional packages are included)
    125 
    126        7.   only for share-dist: emacs (only possible, if doc was build)
    127 
    128        8.   IntegerProgramming
    129 
    130   9. if you want to make any change in the directory Singular, run make
    131      depend there
    132 
    133  10. to install the resulting files at any other place in the system,
    134      run
    135      make bindist sharedist
    136      (sharedist can only be build if doc was build sucessfully) and
    137      install the resulting .tar.gz files as explained for the binary
    138      distribution
    139      The sharedist-result does not depend on your machine:
    140      so you can also download our version of it
    141 
    142  11. if you compiled Singular for a non-standard architecture and you
    143      are willing to share your porting effort, upload the changed
    144      sources and the resulting binaries to
    145      `ftp://www.mathematik.uni-kl.de/pub/Incoming' and send us an email
    146      about it (Singular@mathematik.uni-kl.de)
    147 
    148  12. bug-fixes or other improvements to the source code are welcome
    149 
    150 Notes for specific platforms
    151 ============================
    152 
    153    - Windows (Cygwin):
    154      ./configure -with-malloc=system
    155      Windows Vista:
    156      run         
    157        rebaseall
    158      before trying anything else
    159 
    160    - MacOS X:
    161      you need a file values.h where MP can find it (we copied one from
    162      Linux)
    163      ./configure -with-malloc=system
    164 
    165    - FreeBSD 4.x/5.x:
    166      you need a file values.h where MP can find it (we copied one from
    167      Linux)
    168      ./configure -with-malloc=system
    169 
    170    - Solaris with CC/cc
    171      - you need to set CONFIG_SHELL to /bin/bash
    172       (/bin/sh misses some substitutions in the generated Makefiles)
    173      - set CC = "cc -xarch=v9"
    174           CXX = "CC -xarch=v9"
    175           CFLAGS          = -O
    176           CXXFLAGS        = -O2
    177      - configure with
    178       ./configure  --without-dynamic-kernel --without-MP
    179      
    180 
    181 Compiling SINGULAR for a Non-Unix platform
    182 ==========================================
    183 
    184 This is a non-trivial task. Please contact us directly.
    185 (`mailto:Singular@mathematik.uni-kl.de')
    186 
    187 GOOD LUCK and ENJOY!  Your SINGULAR team.
    188 
    189 
    190 Compiling SINGULAR with cmake
    191 =============================
    192 
    193 compiling SINGULAR with cmake is currently experimental and
    194 under development.
    195 Use it at your own risk! Parents are liable for their children!
Note: See TracChangeset for help on using the changeset viewer.