User:Carloscardenas/GSOC2012/MacASCEND4GSoCInstalationES: Difference between revisions
No edit summary |
|||
| Line 125: | Line 125: | ||
</source > | </source > | ||
=== Instalación de PCRE === | |||
SWIG tiene una dependencia llamada PCRE o ''PCRE - Perl Compatible Regular Expressions'', se puede descargar de [[https://sourceforge.net/projects/pcre/files/pcre/ aquí ]] y tambien en /opt/gtk | |||
El resultado de la compilación debe ser parecido a esto: | |||
<source lang=a4c> | |||
./configure | |||
make | |||
sudo make install | |||
... | |||
pcre-8.31 configuration summary: | |||
Install prefix .................. : /usr/local | |||
C preprocessor .................. : gcc -E | |||
C compiler ...................... : gcc | |||
C++ preprocessor ................ : g++ -E | |||
C++ compiler .................... : g++ | |||
Linker .......................... : /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld | |||
C preprocessor flags ............ : | |||
C compiler flags ................ : -O2 | |||
C++ compiler flags .............. : -O2 | |||
Linker flags .................... : | |||
Extra libraries ................. : | |||
Build 8 bit pcre library ........ : yes | |||
Build 16 bit pcre library ....... : no | |||
Build C++ library ............... : yes | |||
Enable JIT compiling support .... : no | |||
Enable UTF-8/16 support ......... : no | |||
Unicode properties .............. : no | |||
Newline char/sequence ........... : lf | |||
\R matches only ANYCRLF ......... : no | |||
EBCDIC coding ................... : no | |||
Rebuild char tables ............. : no | |||
Use stack recursion ............. : yes | |||
POSIX mem threshold ............. : 10 | |||
Internal link size .............. : 2 | |||
Match limit ..................... : 10000000 | |||
Match limit recursion ........... : MATCH_LIMIT | |||
Build shared libs ............... : yes | |||
Build static libs ............... : yes | |||
Use JIT in pcregrep ............. : no | |||
Buffer size for pcregrep ........ : 20480 | |||
Link pcregrep with libz ......... : no | |||
Link pcregrep with libbz2 ....... : no | |||
Link pcretest with libedit ...... : no | |||
Link pcretest with libreadline .. : no | |||
</source> | |||
También hacer enlace simbolico a bin: | |||
<source lang=a4c> | |||
osxs-Mac-Pro:swig-2.0.8 osx$ sudo ln -s /usr/local/bin/pcre-config /bin/ | |||
</source> | |||
=== Instalación de SWIG === | |||
SWIG se usa en Ascend con gtk y python. Se debe descargar [[http://www.swig.org/ aquí]], si no se compila SWIG no se genera el entorno gráfico de ascend4. | |||
<source lang=a4c> | |||
./configure | |||
make | |||
sudo make install | |||
</source> | |||
<source lang=a4c> | |||
osxs-Mac-Pro:Ascend osx$ sudo ln -s /usr/local/bin/swig /bin/ | |||
</source> | |||
=== Instalación de Sundails === | === Instalación de Sundails === | ||
Descargar e instalar [[https://computation.llnl.gov/casc/sundials/main.html sundails]] para las soluciones de Solvers. | |||
== Instaladores Compilados y probados no para el el instalador Oficial == | |||
Estos paquetes fueron instalados directamente en la carpeta Downloads, lo cual no es correcto, lo mejor es instalarlos también en /opt/gtk dado que los archivos luego son linkeados por el scons y pueden sufrir ruptura al pasar al instalador, no se incluyen en el instalador final pero si en sl [[http://www.cardenas.pe/Ascend/ASCEND-t.dmg ASCEND-t.dmg]]. | |||
=== Instalación de Ipopt === | === Instalación de Ipopt === | ||
Para la instalación del Ipopt se tomo como referencia el instalador de ASCEND en [[http://ascend4.org/Building_ASCEND/Gentoo#Ipopt Gentoo]]. | |||
=== Instalación de GRAPHVIZ === | |||
Para los diagramas de árboles se instaló el GRAPHVIZ, también hacerlo en /opt/gtk. Utilizar las fuentes de [[http://www.graphviz.org/Download.php aquí]]. | |||
Lo necesario para la compilación de scons son estos archivos: | |||
<source lang=a4c> | |||
-rwxr-xr-x 1 lucialoyola staff 31304 Aug 18 15:18 libcdt.5.dylib | |||
-rwxr-xr-x 1 lucialoyola staff 86216 Aug 18 15:16 libcgraph.6.dylib | |||
-rwxr-xr-x 1 lucialoyola staff 56100 Aug 18 15:15 libgraph.5.dylib | |||
-rwxr-xr-x 1 lucialoyola staff 485020 Aug 18 15:15 libgvc.6.dylib | |||
<-source > | |||
=== Instalación de c-unit === | === Instalación de c-unit === | ||
Se Instaló el paquete c-unit. | |||
=== Instalación de lyx === | |||
No se llego a probar | |||
*** NOTA: Se espera hacer un nuevo instalador con estos | |||
Revision as of 09:21, 23 August 2012
Ascend4 es un proyecto interesante para simulación. Tiene un desarrollo que ha logrado armonizar varias plataformas de desarrollo como c, fortran, cpp, perl y python.
Proceso de instalación
Sistema Base
Se uso un Sistema MAC OS 10.7, las características del núcleo son:
osxs-Mac-Pro:gtk osx$ uname -a Darwin osxs-Mac-Pro.local 11.4.0 Darwin Kernel Version 11.4.0: Mon Apr 9 19:32:15 PDT 2012; root:xnu-1699.26.8~1/RELEASE_X86_64 x86_64
Las variables de entorno iniciales son:
osxs-Mac-Pro:gtk osx$ env TERM_PROGRAM=Apple_Terminal SHELL=/bin/bash TERM=xterm-256color TMPDIR=/var/folders/f_/zzt1_n9j0mz00f0sph2p30q80000gn/T/ Apple_PubSub_Socket_Render=/tmp/launch-7TM5Bm/Render TERM_PROGRAM_VERSION=303.2 TERM_SESSION_ID=08A79D6D-DE69-4DD9-B68D-E5F11669CBB1 USER=osx COMMAND_MODE=unix2003 SSH_AUTH_SOCK=/tmp/launch-dbdtQy/Listeners Apple_Ubiquity_Message=/tmp/launch-IrfyTY/Apple_Ubiquity_Message __CF_USER_TEXT_ENCODING=0x1F5:0:0 PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin PWD=/opt/gtk LANG=en_NZ.UTF-8 HOME=/Users/osx SHLVL=1 LOGNAME=osx DISPLAY=/tmp/launch-LIa43C/org.x:0 SECURITYSESSIONID=186a4 _=/usr/bin/env
Proceso de Configuración de Instalación
Aquí se explica como algunos pasos adicionales a la explicación propuesta en Porting to Mac.
Actualización del Mac Osx 10.7.x
La versión por defecto comprada en la MACBOOK AIR en diciembre del 2011 contiene una versión de sistema operativo en el cual no se puede instalar la versión de XCODE que se usa para el presente desarrollo. Es necesario hacer una actualización del sistema. Los componentes a descargar son cerca de 1,5 Gb.
No se ha hecho pruebas de desarrollo con la versión de MAC OSX 10.8 Mountain Lion.
Instalación de Xcode
Luego de la actualización del Mac OSX 10.7.3, es necesario instalar el Xcode que complementará el sistemas MAC OSX con paquetes como el GIT y GCC llV entre otros, no es recomendable hacer una copia binaria de un sistema al otro porque corrompe los archivos de desarrollo.
La versión de XCODE usado para el desarrollo es:
Instalación de GTK y PyGTK
Este proceso de instalación es similar a GTK de Porting to Mac, la diferencia crucial para mejorar el empaquetamiento directo de Ascden4 es que si se sigue el mismo proceso los archivos fuentes de instalación del GTK y PYTGTK estarán en /Users/YOURUSER/gtk/inst y las librerias en /Users/YOURUSER/gtk/inst/lib y cuando se generen los paquetes del instalador se necesitaria ubicar los archivos en esas carpetas la opción de ige-mac-bundler no es la mejor porque las dependencias tienen muchas ramificaciones y estan determinadas por los archivos binarios y eso implicaria modificarlos arruinándose.
Por eso se modifico el instalador de jhbuild en sus variables 'HOME' para colocar PWD y la instalación de los binarios y librerias se realizó en /opt/gtk, directorio similar a la instalación de PyGTK.
Se tiene problemas para la libreria pycairo para la instalación de MAC OSX 10.7 al parecer ya el problema es reportado Y NO HAY SOLUCION FORMAL pero es un problema de la arquitectura y tiene que solucionarse a mano. Este es el [bug].
Estando en jhbuild se debe de compilar a mano por terminar de la siguiente manera:
$sudo ./waf configure --prefix=/opt/gtk --libdir=/opt/gtk/lib
Se debe intentar modificar el archivo _cache.py eliminando la arquitectura se coloca en la carpeta mac de ascend el archivo.
$sudo ./waf build $sudo ./waf install
Si no se logra corregir el problema se tendria que copiar el archivo _cairo.so de PyGTK mac port como último recurso
Instalación de Numpy, scipy, matplopt y ipython
Dentro de la carpeta /opt/gtk
sudo easy_install pip sudo pip install virtualenv sudo pip install virtualenvwrapper sudo pip install numpy sudo pip install -e git+https://github.com/scipy/scipy#egg=scipy-dev sudo pip install -e git+https://github.com/matplotlib/matplotlib#egg=matplotlib-dev sudo pip install ipython sudo sh python setup.py install import matplotlib
Es seguro que con esta instalación matploptlib no se compilara correctamente lo mejor es ingresar a la carpeta y compilarlo de esta forma. Previamente se debe configurar el archivo make.osx con la versión del sistema y la versión de python
$cd /opt/gtk/src/matplopt $sudo make -f make.osx PREFIX=/opt/lib PYVERSION=2.7 fetch deps mpl_install_std
Para mayor seguridad hacer la prueba con un código de ejemplo.
Instalación de Scons
Se instalo una versión de Scons 2.20 se puede descargar de [aquí ].
Un problema que se nota es que los instaladores de varias dependencias tienen binarios que se almacenan en /usr/local/bin
Pero no se pueden usar directamente como: $scons. Es necesario hacer lo siguiente:
ln -s /usr/local/bin/scons /bin/
Instalación de PCRE
SWIG tiene una dependencia llamada PCRE o PCRE - Perl Compatible Regular Expressions, se puede descargar de [aquí ] y tambien en /opt/gtk
El resultado de la compilación debe ser parecido a esto:
./configure make sudo make install ... pcre-8.31 configuration summary: Install prefix .................. : /usr/local C preprocessor .................. : gcc -E C compiler ...................... : gcc C++ preprocessor ................ : g++ -E C++ compiler .................... : g++ Linker .......................... : /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld C preprocessor flags ............ : C compiler flags ................ : -O2 C++ compiler flags .............. : -O2 Linker flags .................... : Extra libraries ................. : Build 8 bit pcre library ........ : yes Build 16 bit pcre library ....... : no Build C++ library ............... : yes Enable JIT compiling support .... : no Enable UTF-8/16 support ......... : no Unicode properties .............. : no Newline char/sequence ........... : lf \R matches only ANYCRLF ......... : no EBCDIC coding ................... : no Rebuild char tables ............. : no Use stack recursion ............. : yes POSIX mem threshold ............. : 10 Internal link size .............. : 2 Match limit ..................... : 10000000 Match limit recursion ........... : MATCH_LIMIT Build shared libs ............... : yes Build static libs ............... : yes Use JIT in pcregrep ............. : no Buffer size for pcregrep ........ : 20480 Link pcregrep with libz ......... : no Link pcregrep with libbz2 ....... : no Link pcretest with libedit ...... : no Link pcretest with libreadline .. : no
También hacer enlace simbolico a bin:
osxs-Mac-Pro:swig-2.0.8 osx$ sudo ln -s /usr/local/bin/pcre-config /bin/
Instalación de SWIG
SWIG se usa en Ascend con gtk y python. Se debe descargar [aquí], si no se compila SWIG no se genera el entorno gráfico de ascend4.
./configure
make
sudo make install
osxs-Mac-Pro:Ascend osx$ sudo ln -s /usr/local/bin/swig /bin/
Instalación de Sundails
Descargar e instalar [sundails] para las soluciones de Solvers.
Instaladores Compilados y probados no para el el instalador Oficial
Estos paquetes fueron instalados directamente en la carpeta Downloads, lo cual no es correcto, lo mejor es instalarlos también en /opt/gtk dado que los archivos luego son linkeados por el scons y pueden sufrir ruptura al pasar al instalador, no se incluyen en el instalador final pero si en sl [ASCEND-t.dmg].
Instalación de Ipopt
Para la instalación del Ipopt se tomo como referencia el instalador de ASCEND en [Gentoo].
Instalación de GRAPHVIZ
Para los diagramas de árboles se instaló el GRAPHVIZ, también hacerlo en /opt/gtk. Utilizar las fuentes de [aquí].
Lo necesario para la compilación de scons son estos archivos:
<source lang=a4c> -rwxr-xr-x 1 lucialoyola staff 31304 Aug 18 15:18 libcdt.5.dylib -rwxr-xr-x 1 lucialoyola staff 86216 Aug 18 15:16 libcgraph.6.dylib -rwxr-xr-x 1 lucialoyola staff 56100 Aug 18 15:15 libgraph.5.dylib -rwxr-xr-x 1 lucialoyola staff 485020 Aug 18 15:15 libgvc.6.dylib <-source >
Instalación de c-unit
Se Instaló el paquete c-unit.
Instalación de lyx
No se llego a probar
- NOTA: Se espera hacer un nuevo instalador con estos
Problemas Encontrados
Entre los principales problemas de migrarlos o hacer un instalador para MAC OSX están:
1.- MAC no cuenta con GTK. Es necesario usar el jhbuild.
2.- Problemas con la configuración de PyGTK instalada por jhbuild por defecto.
3.- Dependencias entre Sundails, pcre, etc.
4.- Dependencias de IPOPT, GRAPHVIZ al momento de compilación.
5.- Uso de Entornos Virtuales para hacer las Pruebas de los Instaladores.
6.- Diferencias entre el uso correcto de la sintaxis de python.
7.- El uso de librerias ajenas a MAC OSX a incluir dentro de Ascend4.