User:Carloscardenas/GSOC2012/MacASCEND4GSoCInstalationES: Difference between revisions
| Line 124: | Line 124: | ||
ln -s /usr/local/bin/scons /bin/ | ln -s /usr/local/bin/scons /bin/ | ||
<source > | </source > | ||
=== Instalación de Sundails === | === Instalación de Sundails === | ||
Revision as of 08:58, 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 [[ http://www.scons.org/ 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 Sundails
Instalación de Ipopt
Instalación de c-unit
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.