INSTALL
4.37 KB
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
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/ 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, type respectively for tcsh or bash
$ setenv CXXFLAGS -g
$ export CXXFLAGS=-g
then
$ ./configure
$ make
become root
# make install
# ldconfig
* Enjoy!
PREREQUSITES:
=============
0. If you want to cross-compile for the ARM architecture look also at
the file src/README.ipaq
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.
3. GNU readline library (http://www.gnu.org/software/readline), version >= 4.2
4. [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;
}
5. MPFR library (http://mpfr.org).
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. CoCoA library (http://cocoa.dima.unige.it/cocoalib).
Note that giac compiles by default with version 0.9950 (except under win32),
for smaller versions try to remove #define COCOA9950 in cocoa.cc.
N.B.: there is no make install target currently, you must copy
lib/libcocoa.a to /usr/local/lib and include/CoCoA/* to
/usr/local/include/CoCoA by hand
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.