Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes | ||
scilab [2009/01/09 16:15] – gerard | scilab [2012/04/01 07:48] – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== scilab ====== | ====== scilab ====== | ||
- | sur nemo, 4.0, juillet 06 | + | |
+ | | ||
+ | |||
+ | |||
+ | __sur <del>nemo</ | ||
+ | <del>4.0, juillet 06</ | ||
+ | |||
+ | __sur octopus__ | ||
+ | Utiliser **module** pour choisir une version | ||
+ | < | ||
+ | [henry@octopus octopus]$ module avail | ||
+ | |||
+ | ------------------------- / | ||
+ | ------------------------- | ||
+ | 3.2.6 | ||
+ | |||
+ | -------------------- / | ||
+ | --------------------- | ||
+ | dot | ||
+ | gcc | ||
+ | hpc | ||
+ | |||
+ | [henry@octopus octopus]$ module load scilab5 | ||
+ | |||
+ | [henry@octopus octopus]$ scilab -version | ||
+ | Scilab version " | ||
+ | scilab-5.2.0 | ||
+ | |||
+ | </ | ||
Lancer scilab en batch: | Lancer scilab en batch: | ||
< | < | ||
- | nemo-henry% | + | nohup scilab -nwni -f histoire.sce > resul.out & |
</ | </ | ||
avec le script histoire.sce contenant par exemple: | avec le script histoire.sce contenant par exemple: | ||
Ligne 59: | Ligne 87: | ||
* scilab-5.0.3-src.tar.gz | * scilab-5.0.3-src.tar.gz | ||
DAns la première archive, ce qui est interessant est dans thirdparty. Ce qui est dans bin et java est inutilisable pour notre plateforme, et libs contient seulement les headers de matio | DAns la première archive, ce qui est interessant est dans thirdparty. Ce qui est dans bin et java est inutilisable pour notre plateforme, et libs contient seulement les headers de matio | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
===== sur solaris 10 ===== | ===== sur solaris 10 ===== | ||
+ | On utilise l' | ||
+ | < | ||
+ | bash-3.00$ . / | ||
+ | </ | ||
+ | on ne récupère que le dossier thirparty de l' | ||
< | < | ||
bash-3.00$ pwd | bash-3.00$ pwd | ||
Ligne 69: | Ligne 107: | ||
bash-3.00$ tar xzf ../ | bash-3.00$ tar xzf ../ | ||
</ | </ | ||
+ | |||
Pour les autres pre-requis: | Pour les autres pre-requis: | ||
* < | * < | ||
Ligne 83: | Ligne 122: | ||
devel1@nemo: | devel1@nemo: | ||
</ | </ | ||
+ | on applique les {{scilab-5.0.3-01-studio.diff|patches}} suivants: | ||
< | < | ||
- | bash-3.00$ . /opt/ | + | $ cd scilab-5.0.3 |
+ | devel1@nemo: | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
et on ajoute / | et on ajoute / | ||
< | < | ||
Ligne 92: | Ligne 135: | ||
</ | </ | ||
- | On modifie le configure à cause d'un test qui échoue: | + | <del>On modifie le configure à cause d'un test qui échoue: |
< | < | ||
bash-3.00$ diff -u configure-dist configure | bash-3.00$ diff -u configure-dist configure | ||
Ligne 106: | Ligne 149: | ||
{ echo " | { echo " | ||
echo " | echo " | ||
- | </ | + | </code></ |
et ça donne: | et ça donne: | ||
< | < | ||
- | ./configure \ | + | devel1@nemo: |
--prefix=/ | --prefix=/ | ||
+ | --enable-build-localization \ | ||
+ | --enable-build-help | ||
--with-x \ | --with-x \ | ||
--without-matio \ | --without-matio \ | ||
Ligne 120: | Ligne 165: | ||
CC=cc \ | CC=cc \ | ||
CXX=CC \ | CXX=CC \ | ||
- | LDFLAGS=" | + | LDFLAGS=" |
- | ... | + | LIBS=" |
+ | 2>&1 | tee CONFIGURE.LOG | ||
+ | |||
Scilab is configured as follows. Please verify that this configuration | Scilab is configured as follows. Please verify that this configuration | ||
matches your expectations. | matches your expectations. | ||
Ligne 139: | Ligne 187: | ||
Compiler Configuration: | Compiler Configuration: | ||
- | Intel (--with-intelcompilers) .... = | + | Intel (--with-intelcompilers) .... = |
- | GNU gcc (--with-gcc) ............. = | + | GNU gcc (--with-gcc) ............. = |
- | GNU Fortran 77 (--with-g77) ...... = | + | GNU Fortran 77 (--with-g77) ...... = |
- | GNU Fortran 95 (--with-gfortran) . = | + | GNU Fortran 95 (--with-gfortran) . = |
Options: | Options: | ||
Ligne 175: | Ligne 223: | ||
BLAS/ | BLAS/ | ||
- | BLAS LIBS ............. = -xlic_lib=sunperf | + | BLAS LIBS ............. = |
- | BLAS TYPE ............. = Sun Performance library | + | BLAS TYPE ............. = Linked |
LAPACK LIBS ........... = | LAPACK LIBS ........... = | ||
LAPACK TYPE ........... = Default link | LAPACK TYPE ........... = Default link | ||
- | Won't generate | + | Gettext/localization |
+ | xgettext ............... = / | ||
+ | msgfmt | ||
+ | msgfmt_opts ............ = | ||
+ | msgcat | ||
- | No documentation generated | + | Docbook XSL path ....... = / |
+ | Batik (SVG) ............ = / | ||
+ | Saxon XSLT ............. = / | ||
+ | FOP (XML => PDF) ....... = / | ||
+ | Jeuclid (MathML) ....... = / | ||
+ | Commons I/O ............ = / | ||
+ | XML graphics commons ... = / | ||
Java Configuration: | Java Configuration: | ||
Ligne 250: | Ligne 308: | ||
LD ............. = / | LD ............. = / | ||
LDFLAGS ........ = -R/ | LDFLAGS ........ = -R/ | ||
- | LIBS ........... = | + | LIBS ........... = -lsocket -lnsl -lX11 -xlic_lib=sunperf -lsunmath -lintl |
CXX ............ = CC | CXX ............ = CC | ||
CXXFLAGS ....... = -g -I$(top_srcdir)/ | CXXFLAGS ....... = -g -I$(top_srcdir)/ | ||
Ligne 258: | Ligne 316: | ||
TERMCAP_LIB .... = -lncurses | TERMCAP_LIB .... = -lncurses | ||
+ | </ | ||
+ | <del> | ||
+ | |||
+ | une erreur sur un fichier entraîne la modif suivante: | ||
+ | < | ||
+ | devel1@nemo: | ||
+ | --- modules/ | ||
+ | +++ modules/ | ||
+ | @@ -14,6 +14,10 @@ | ||
+ | # | ||
+ | |||
+ | # | ||
+ | +#if defined(__SunOS_5_10) && defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x580 | ||
+ | + #include < | ||
+ | +#endif | ||
+ | + | ||
+ | |||
+ | | ||
+ | { | ||
</ | </ | ||
- | ===== installation | + | et aussi |
+ | < | ||
+ | devel1@nemo: | ||
+ | --- src/ | ||
+ | +++ src/ | ||
+ | @@ -24,6 +24,9 @@ | ||
+ | # | ||
+ | # | ||
+ | |||
+ | +#if defined(__SunOS_5_10) && defined(__SUNPRO_C) && __SUNPRO_C >= 0x580 | ||
+ | +#undef solaris | ||
+ | +#endif | ||
+ | #if defined(solaris) | ||
+ | # | ||
+ | int isinf(double x) { return !finite(x) && x==x; } | ||
+ | </ | ||
+ | |||
+ | et enfin, ne pas oublier de changer /bin/sh en /bin/bash dans bin/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== installation | ||
Ligne 445: | Ligne 543: | ||
==== isinf ==== | ==== isinf ==== | ||
+ | réglé, voir le patch ci-dessus à appliquer | ||
+ | |||
< | < | ||
src/ | src/ | ||
Ligne 472: | Ligne 572: | ||
==== scilab-bin ==== | ==== scilab-bin ==== | ||
+ | |||
+ | Ancien problème, réglé avec la nouvelle ligne de configure | ||
+ | |||
la ligne suivante echoue: | la ligne suivante echoue: | ||
< | < | ||
Ligne 490: | Ligne 593: | ||
==== script scilab-bin ==== | ==== script scilab-bin ==== | ||
il faut remplacer /bin/sh par /bin/bash | il faut remplacer /bin/sh par /bin/bash | ||
+ | |||
Ligne 503: | Ligne 607: | ||
make[1]: Leaving directory `/ | make[1]: Leaving directory `/ | ||
</ | </ | ||
+ | si on lance en mode debug: | ||
+ | < | ||
+ | devel1@nemo: | ||
+ | Running debug of Scilab [gdb] : / | ||
+ | GNU gdb 6.6 | ||
+ | Copyright (C) 2006 Free Software Foundation, Inc. | ||
+ | GDB is free software, covered by the GNU General Public License, and you are | ||
+ | welcome to change it and/or distribute copies of it under certain conditions. | ||
+ | Type "show copying" | ||
+ | There is absolutely no warranty for GDB. Type "show warranty" | ||
+ | This GDB was configured as " | ||
+ | (gdb) run | ||
+ | Starting program: / | ||
+ | warning: Temporarily disabling breakpoints for unloaded shared library "/ | ||
+ | warning: Lowest section in / | ||
+ | warning: Lowest section in / | ||
+ | warning: Lowest section in / | ||
+ | warning: Lowest section in / | ||
+ | warning: Lowest section in / | ||
+ | Program received signal SIGSEGV, Segmentation fault. | ||
+ | 0xfa855891 in strlen () from / | ||
+ | (gdb) where | ||
+ | #0 0xfa855891 in strlen () from / | ||
+ | #1 0xfac62160 in callFunctionFromGateway () | ||
+ | from / | ||
+ | #2 0xfd297571 in gw_io () | ||
+ | from / | ||
+ | #3 0xfac51df3 in callinterf_ () | ||
+ | from / | ||
+ | #4 0xfac5ef42 in scirun_ () | ||
+ | from / | ||
+ | #5 0xfac4d54b in realmain () | ||
+ | from / | ||
+ | #6 0xfd242ad0 in mainscic () | ||
+ | from / | ||
+ | #7 0x08050d7d in main () | ||
+ | </ | ||
+ | FIXME: recompiler en ajoutant --enable-debug au configure | ||
==== opensolaris: | ==== opensolaris: | ||
+ | réglé aussi, se reporter au configure ci-dessus | ||
+ | |||
ce problème arrive parce qu'ils mettent la lib avant le chemin (-L) et c'est bien dommage... | ce problème arrive parce qu'ils mettent la lib avant le chemin (-L) et c'est bien dommage... | ||
< | < | ||
Ligne 542: | Ligne 686: | ||
</ | </ | ||
c'est un bug connu de scilab, il suffit de faire: "make install -k" | c'est un bug connu de scilab, il suffit de faire: "make install -k" | ||
+ | |||
====== problème à l' | ====== problème à l' | ||
- | Il ne trouve pas gluegen.jar, | + | <del>Il ne trouve pas gluegen.jar, |
< | < | ||
henry@delljm: | henry@delljm: | ||
Ligne 560: | Ligne 705: | ||
at java.lang.ClassLoader.loadLibrary(ClassLoader.java: | at java.lang.ClassLoader.loadLibrary(ClassLoader.java: | ||
... | ... | ||
+ | </ | ||
+ | c'est réglé, il faut vraiment suivre la doc et ne pas oublier de recopier les libs dans bin avant le make | ||
+ | |||
+ | |||
+ | ====== Segmentation Fault sur solaris 10 ====== | ||
+ | < | ||
+ | creating scilab-bin | ||
+ | ./ | ||
+ | Warning: Localization issue: Error while binding the domain from / | ||
+ | ./ | ||
+ | make[1]: [macros] Error 139 (ignored) | ||
</ | </ | ||
+ | Ce problème apparait à la fin du make. Une rapide utilisation du debugger montre: | ||
+ | < | ||
+ | Program received signal SIGSEGV, Segmentation fault. | ||
+ | 0xfa855891 in strlen () from / | ||
+ | (gdb) where | ||
+ | #0 0xfa855891 in strlen () from / | ||
+ | #1 0xfac62160 in callFunctionFromGateway () | ||
+ | from / | ||
+ | #2 0xfd297571 in gw_io () | ||
+ | from / | ||
+ | #3 0xfac51df3 in callinterf_ () | ||
+ | from / | ||
+ | #4 0xfac5ef42 in scirun_ () | ||
+ | from / | ||
+ | #5 0xfac4d54b in realmain () | ||
+ | from / | ||
+ | #6 0xfd242ad0 in mainscic () | ||
+ | from / | ||
+ | #7 0x08050d7d in main () | ||
+ | </ | ||
+ | |||
+ | On recompile avec l' | ||
+ | < | ||
+ | CC="cc -g" \ | ||
+ | CFLAGS=" | ||
+ | CXX=" | ||
+ | CXXFLAGS=" | ||
+ | </ | ||
+ | pour que le fichier soit correctement généré. | ||
+ | \\ | ||
+ | Maintenant, on a: | ||
+ | < | ||
+ | t@1 (l@1) program terminated by signal SEGV (no mapping at the fault address) | ||
+ | 0xfa705891: strlen+0x0031: | ||
+ | Current function is callFunctionFromGateway | ||
+ | | ||
+ | </ | ||
+ | et Tab est une variable globale définie dans le fichier ./ | ||
+ | < | ||
+ | static gw_generic_table Tab[]= | ||
+ | { | ||
+ | ... | ||
+ | }; | ||
+ | </ | ||
+ | tableau défini dans modules/ | ||
+ | \\ | ||
+ | Pour moi, ça veut dire qu'on parcourt le tableau au delà de sa dimension (pourquoi?) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====== scilab-5.1 ====== | ||
+ | * http:// | ||
+ | * problèmes avec le clavier (touche alt-gr) | ||
+ | < | ||
+ | henry@delljm: | ||
+ | xmodmap: | ||
+ | |||
+ | shift | ||
+ | lock Caps_Lock (0x42) | ||
+ | control | ||
+ | mod1 Alt_L (0x40) | ||
+ | mod2 Num_Lock (0x4d) | ||
+ | mod3 Mode_switch (0x71) | ||
+ | mod4 Meta_L (0x73), | ||
+ | mod5 | ||
+ | |||
+ | henry@delljm: | ||
+ | henry@delljm: | ||
+ | xmodmap: | ||
+ | |||
+ | shift | ||
+ | lock Caps_Lock (0x42) | ||
+ | control | ||
+ | mod1 Alt_L (0x40) | ||
+ | mod2 Num_Lock (0x4d) | ||
+ | mod3 Alt_R (0x71) | ||
+ | mod4 Meta_L (0x73), | ||
+ | mod5 | ||
+ | </ | ||
+ | |||
+ | Ce problème se règle de la façon suivante: | ||
+ | < | ||
+ | mombasa-henry% setenv _AWT_USE_TYPE4_PATCH false | ||
+ | mombasa-henry% ssh nemo / | ||
+ | </ | ||
+ | Cela ne fonctionne que si Java est > à 1.5.03. | ||
+ | \\ | ||
+ | Pour éviter le contournement avec la variable d' | ||
+ | |||
+ | ===== tests ===== | ||
+ | * avec mataela.sci | ||
+ | * avec [[http:// | ||
+ | |||
+ | ==== serveur nemo (solaris 10, java 1.6) client sunray (solaris 10, sparc) ==== | ||
+ | |||
+ | inutilisable | ||
+ | |||
+ | ==== serveur opensolaris (os2008.11, b101) client sunray (solaris 10, sparc) ==== | ||
+ | |||
+ | fonctionne, mais avec un crash à la sortie à cause de Java | ||
+ | < | ||
+ | henry@delljm: | ||
+ | Xlib: extension " | ||
+ | X11 connection rejected because of wrong authentication. | ||
+ | # | ||
+ | # An unexpected error has been detected by Java Runtime Environment: | ||
+ | # | ||
+ | # SIGSEGV (0xb) at pc=0xafbf9808, | ||
+ | # | ||
+ | # Java VM: Java HotSpot(TM) Client VM (11.0-b15 mixed mode solaris-x86) | ||
+ | # Problematic frame: | ||
+ | # C [libGL.so.1+0x79808] | ||
+ | # | ||
+ | # An error report file with more information is saved as: | ||
+ | # / | ||
+ | # | ||
+ | # If you would like to submit a bug report, please visit: | ||
+ | # | ||
+ | # The crash happened outside the Java Virtual Machine in native code. | ||
+ | # See problematic frame for where to report the bug. | ||
+ | # | ||
+ | / | ||
+ | </ | ||
+ |