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) 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 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 #include 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.