-
Notifications
You must be signed in to change notification settings - Fork 1
/
INSTALACION
246 lines (228 loc) · 9.68 KB
/
INSTALACION
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
INSTALACION
=============
Última rev:12/06/2002
J.Manrique: jsmanrique_lopez@yahoo.es
Vista rápida
===========
1/ Comprueba que el fichero /etc/ld.so.conf tiene la línea
/usr/local/lib
si no es así, edítalo y añade esa línea
2/ Consigue e instala GMP, FLTK 1.0 (no 1.1), FLVW y readline, opcionalmente GSL
si quieres capacidades numéricas, PARI para artimética avanzada (mira el parche
más abajo), NTL para trabajo rápido con polinomios (ver configuración compatible con giac abajo).
Mira en la sección de requisitos section para las direcciones de descarga e instruccuiones.
3/ Ejecuta ldconfig como root para asegurarte que las librerías nuevas instaladas son reconocidas
en tu sistema
4/ Vete al directorio giac
Si quieres compilación rápida, teclea respectivamente para tcsh o bash
$ setenv CXXFLAGS -g
$ export CXXFLAGS=-g
entonces
$ ./configure
$ make
hazte root
# make install
# ldconfig
* Diviértete!
Requisitos
=========
* Si quieres compilación cruzada para la arquitectura ARM mira también en
el fichero src/README.ipaq
* Debes comprobar primero que tienes instalado GMP (disponible en cualquier ftp GNU
o mirror, mira en www.gnu.org, por ejemplo en España prueba ftp.rediris.es)
* Si quieres funciones numéricas deberías instalar la Librería Científica GNU
(http://sources.redhat.com/gsl)
* Si quieres usar NTL, consigue la versión >= 5.2 en http://www.shoup.net,
comprueba que configuraste con namespace activado (no está activado
por defecto) y con GMP activado (no está por defecto, pero tampoco es obligatorio)
Si no estás seguro de tu instalación, vete al directorio NTL y teclea
$ make clean
$ ./configure NTL_GMP_LIP=on NTL_STD_CXX=on
$ make
$ make install
* Si quieres funciones de aritmética avanzada, consigue PARI en
http://www.parigp-home.de
Si planeas PARI SIN NTL entonces DEBES HACER LOS
SIGUIENTES ARREGLOS (parches) en el directorio fuente de PARI
Fichero src/basemath/polarit2.c borra la palabra static de la declaración
static GEN
combine_factors(...)
Fichero src/headers/paridecl.h
Añade
GEN combine_factors(GEN a, GEN famod, GEN p, long klim, long hint);
en la sección polarit2.c
Recompila (make all) y reinstala PARI (make install y comprueba que
libpari.a ha sido actualizada o cópiala explícitamente desde el directorio O<os>)
Reemplaza en /usr/local/include/pari/pariinl.h labs por std::abs o podrías
obtener errores de compilación.
Comprueba en el directorio src de giac, el fichero pari.cc que la memoria reservada
a la pila de PARI se ajusta a tus necesidades (por defecto son 10MB de RAM) o modifica
long pari_mem_size=10000000;
* Si quieres soporte GUI, comprueba que tengas FLTK 1.0 (o FLNX) instalado
(disponible en http://www.fltk.org). Para la hoja de cálculo y el editor de matrices
necesitas FLVW disponible en http://flvw.sourceforge.net/.
Adicionalmente puedes obtener modificaciones de B. Parisse para FLTK 1.0.11 en
http://www-fourier.ujf-grenoble.fr/~parisse/fltkpar.tgz
esto añade auto-selección de paréntesis.
NOTA Actualmente xcas no trabaja con FLTK 1.1.
* TeXmacs puede ser usado como interface con giac.
Si tienes TeXmacs instalado (www.texmacs.org), después de haber instalado giac,
ejecuta texmacs y usa Insert->Session->giac.
Si copias Init.scm en tu directorio ~/.TeXmacs/progs obtendrás
un menú Cas para giac.
* Si quieres garbage collection, consigue la librería gc
http://www.hpl.hp.com/personal/Hans_Boehm/gc/
Después borra todas las librerías de config.h excepto gmp (mira config.h.gc),
añade #define HAVE_LIBGC 1
reemplaza malloc/realloc en input_parser.cc/input_lexer.cc por
GC_MALLOC_UNCOLLECTABLE y GC_realloc
rm -f *.o y mira en Makefile.fast por el objetivo cas2
INSTALACIÓN (UNIX)
===================
Como con cualquier software GNU auto-configurable, puedes teclear:
$ ./configure
[añade opciones necesarias: prueba ./configure -help para información sobre opciones,
mira la sección OPCIONES DE INSTALACIÓN más abajo]
$ make
$ make check
[hazte root si es necesario]
# make install-strip
Alternativas o trucos:
------------------------
** Si estás actualizando giac para corregir errores, puedes ejecutar
$ ./config.status
en vez de ./configure, esto mantendrá las mismas opciones de configuración
** Si tienes permiso de escritura en /usr/local/, FLTK y GSL instalados y
no quieres soporte de depuración, puedes teclear
$ ./inst
** Si tienes FLTK y GSL instalados y quieres soporte de depuración, teclea
$ ./setup
$ su
# make install
** Si no quieres optimizaciones, configura la variable de entorno CXXFLAGS
a -g antes de ejecutar configure
(tcsh) setenv CXXFLAGS -g
(bash) CXXFLAGS=-g
** Si sólo quieres construir xcas,
$ ./configure
$ cd src
$ make -f Makefile.fast
Reemplaza -g por -O2 en Makefile.fast si quieres optimizaciones completas.
** Si quieres construir xcas para el iPaq con la distribución Familiar
asumiendo que tienes la herramienta skiff instalada y FLTL instalado.
Comprueba que config.h define HAVE_LIBFLTK y no define HAVE_LIBGSL
y HAVE_LIBGSLCBLAS si no tienes estas librerías también, entonces
$ make -f Makefile.ipaq
Nota que nunca se ha conseguido construir para el iPaq con optimización.
** Si quieres sólo el cas en línea de comandos, ejecuta
$ ./configure --disable-gui
$ make
INSTALACIÓN (WIN)
==================
Hay algún soporte para aquellos que deben usar Microsoft Windows (R).
Asumiendo que tienes instalado las herramientas cygwin, gmp, FLTK, FLVW (mira
http://sources.redhat.com/cygwin por cygwin, cualquier mirror GNU por gmp,
http://www.fltk.org por FLTK), ejecuta cygwin,
vete al directorio giac-0.2.2 y
$ cp config.h.win config.h
o edita config.h y modifica para ajustarlo a tus necesidades, después
vete al directorio src y ejecuta
$ make -f Makefile.win
Después de ello, podrías ejecutar xcas.exe, con /usr/bin/cygwin1.dll
copiado en el path (p.e. en el mismo directorio que xcas.exe)
Puedes compilar la versión librería de giac como en Unix usando
$ sh configure ; make
PROBLEMAS
============
*Cygwin: error compilando sym2poly.cc
...sys/types.h ... no define nada
Borra las líneas #undef off_t de config.h.in y las líneas #define de config.h
* Si tienes un error sobre libtool no encontrada cuando ejecutas make, ejecuta
$ ./ltconfig ltmain.sh
* Si has instalado recientemente una librería y parece que no es
reconocida, teclea
$ rm config.cache
antes de ejecutar configure
* La optimización requiere mucha memoria para compilar. Si estás bajo de memoria
edita src/Makefile y si es necesario reemplaza la línea :
CXXFLAGS = -g -O2
por :
CXXFLAGS = -g
* No ha sido posible compilar FLTK con gcc 3. Baja a 2.95 o 2.96
o reconfigura sin soporte FLTK o compila sólo la versión en línea de comandos
de giac (cd src; make -f Makefile.fast cas).
Si tienes problemas compilando plot.cc con gcc 3, borra #define WITH_GNUPLOT
de config.h
* Si tienes un error como
autoheader: Symbol 'CONSTANT_DEBUG_SUPPORT' is not covered by ...
ejecuta
autoheader --localdir=.
* Si tienes un error cuando compiles modpoly.cc, es casi seguro porque
compilaste NTL sin namespaces. Recompílalo (mira la sección de Requisitos
más arriba)
* Si tienes un error de enlazador sobre combine_factors no encontrados en modfactor.o
es porque no modificaste PARI correctamente u olvidaste re-instalar las
librerías PARI
* Compilar Giac con Cygwin con PARI 2.1.1 requiere hacer algún
arreglo. No ha sido posible obtener la versión dinámica de la librería PARI.
Por ello ha tenido que hacerse la instalación a mano:
cp libpari.a /usr/local/lib
mkdir /usr/local/include/pari
cp src/headers/*.h /usr/local/include/pari
cp Ocygwin/*.h /usr/local/include/pari
Entoneces se obtuvo un error compilando pari.cc que desapareció comentando
la línea ofensiva en la cabecera /usr/local/include/pari/paricom.h
Después de esto, todo ha ido correctamente.
* Si tu instalación de cygwin falta de soporte de internacionalización (tendrás
errores sobre #include <libintl.h> en plotfltk.h)
debes modificar xcas.fl para quitar el soporte para internacionalización support, ejecuta
fluid xcas.fl
menú Edit->Preferences, deselecciona gettext y escoge None
(El programa fluid.exe debería estar en tu directorio fuente fltk-1.0.x, en el
subdirectorio fluid)
Después edita plotfltk.h y comenta
#include <locale.h>
#include <libintl.h>
así como la definición de la clase object_bidon
Edita plotfltk.cc y comenta
objet_bidon mon_objet_bidon;
DOCUMENTACIÓN
=================
Si quieres alguna documentación, vete al directorio doc
$ cd doc
y teclea
$ make dvi
NOTAS
=======
Al final de la compilación, deberías tener:
* xcas, cas, aide (programas) in /usr/local/bin
* un montón de enlaces a cas
* las librerías libgiac en /usr/local/lib
* los ficheros include en /usr/local/include/giac
* el fichero ayuda en-línea es /usr/local/share/aide.cas
OPCIONES DE INSTALACIÓN
==========================
Cuando ejecutas
./configure
las siguientes opciones están admitidas
1/ --enable-debug
Permite imprimir vectores y añade algún código de depuración
2/ --enable-fltk
Soporte para GUI
3/ --enable-gsl
Usa la Librería Científica GNU para coma flotante (p.e. funciones especiales..)
4/ --enable-sscl
Permite la inclusión de código para algorítmos semi-clásicos (producto Moyal, ...)
No disponible todavía
5/ --enable-ntl
Permite la inclusión de código NTL
6/ --enable-pari
Permite la inclusión de código PARI
Estas opciones pueden ser desactivadas usando --disable-nombre-opción en vez de
--enable-nombre-opción. Por defecto configure usará estas opciones si
las librerías están disponibles en tu sistema.
Para conseguir binarios mas rápidos haz (bash)
$ export CXXFLAGS="-O3 -fexpensive-optimizations -malign-loops=2 -malign-jumps=2 -malign-functions=2"
o (tcsh)
$ setenv CXXFLAGS "-O3 -fexpensive-optimizations -malign-loops=2 -malign-jumps=2 -malign-functions=2"
Asegúrate de configurar sin soporte de depuración (por defecto) y compilar estáticamente.