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
|
INSTALLATION
============
Quick overview
==============
1/ Check that the file /etc/ld.so.conf contains a line
/usr/local/lib
if not edit the file as root and add this line
2/ Optionnal installs:
Get and install GMP, MPFR, FLTK 1.3.2, readline, optionnaly GSL,
lapack, atlas if you want to do numerical stuff,
PARI 2.3 or above for advanced arithmetic,
NTL for fast polynomial (see configuration compatible with giac below)
Look at the prerequisites section for download addresses and instructions.
3/ Run ldconfig as root to insure the newly installed library are recognized
on your system
4/ Go in the giac directory
If you want a quick compilation with debug support, type respectively for tcsh or bash
$ setenv CXXFLAGS -g
$ export CXXFLAGS=-g
then
$ ./configure
or
$ ./configure --enable-libbf
if you don't have GMP installed
$ make
become root
# make install
# ldconfig
* Enjoy!
PREREQUSITES:
=============
1. ANSI C++ compiler. C++ compiler from GNU compiler collection (GCC),
version >= 3.4, is required.
2. GNU multiprecision library (GMP, http://gmplib.org), version 3 or newer.
You may also compile giac without GMP, with the included libbf
by Fabrice Bellard (https://bellard.org/libbf/). This is an option
if you find it too difficult to compile GMP for your architecture.
3. MPFR library (http://mpfr.org). and MPFI
4. GNU readline library (http://www.gnu.org/software/readline), version >= 4.2
5. [Only if you want GUI] FLTK library (http://www.fltk.org), version 1.3.x
For scrollbars to work properly, you must check that FL_REGION_STACK_SIZE
is large enough in FL/Fl_Device.H (100 should be large enough).
On Mac, you must remove static in src/gl_start.cxx in the declaration
of gl_choice, change FL/Fl_Window.H, add
void * window_ref() const; at the end of the class definition
and in src/Fl_Window.cxx
void * Fl_Window::window_ref() const {
return i;
}
6. GNU scientific library (http://www.gnu.org/software/gsl)
or/and LAPACK http://www.netlib.org/lapack/ (option ATLAS
for faster blaslib http://www.netlib.org/lapack/)
7. PARI/GP library, version >= 2.3 (http://pari.math.u-bordeaux.fr)
To build a static version, make libpari.a make install
and check that libpari.a has been updated or copy it explicitely from
the O<os> directory to /usr/local/lib
8. NTL library, version >= 5.2 (http://www.shoup.net/ntl), for faster
computations with univariate polynomials. Note: NTL should be configured
with namespace enabled (which is sadly not the default) and GMP as
a bignum library, i.e.
$ ./configure NTL_GMP_LIP=on NTL_STD_CXX=on
9. ECM: elliptic curve method http://ecm.gforge.inria.fr/ (requires GMP)
10.GLPK (https://www.gnu.org/software/glpk/
samplerate, curl, cliquer, nauty (https://pallini.di.uniroma1.it/)
11. vectorclass: by Agner Fog https://github.com/vectorclass
run
export CXXFLAGS='-O2 -g -mfma -mavx2 -fabi-version=0'
before configure
INSTALLATION (UNIX)
===================
Like with any autoconfiguring GNU software, you can type this:
$ ./configure
$ make
$ make check
[become root if necessary]
$ make install
N.B.: For installation inside sage, type
sage -sh
./configure --prefix="$SAGE_LOCAL" --disable-gui
INSTALLATION (Windows).
======================
Unfortunately the only option to install giac on Windows is to emulate
UNIX via cygwin (http://www.cygwin.com). Run configure, then adapt
Makefilenew.win to your configuration and run
make -f Makefilenew.win
DOCUMENTATION
===
pdf are available in the doc directory
INSTALLATION OPTIONS
====================
When you run
./configure
the following options are recognized
1/ --enable-debug
Allow vecteurs printing and add some debugging code
2/ --enable-fltk
GUI support
3/ --enable-gsl
Use the Gnu Scientific Library for floating point (e.g. special functions..)
4/ --enable-sscl
Allow inclusion of code for semi-classical algorithms (Moyal product, ...)
Not available yet
5/ --enable-ntl
Allow inclusion of NTL code
6/ --enable-pari
Allow inclusion of PARI code
These options can be turned off using --disable-option-name instead of
--enable-option-name. By default configure will use these options if
the libraries are available on your system
Note also the configuration option you can pass to the compiler
setting CXXFLAGS or LDFLAGS. For example adding -DDOUBLEVAL to the
CXXFLAGS will use full double support (53 bit of mantissa) but will
require 12 bytes on a 32 bit architecture for the gen type, as not
setting this flag will use 48 bit of mantissa (the 5 bit remaining
being set to 0) but the size of a gen is reduced to 8 bytes.
|