El proceso de instalación consta de una sola parte dependiente en su totalidad de la correcta configuración del archivo setup.py
. En este archivo deberemos establecer la ubicación de los directorios de inclusión, y las librerías necesarias (comentadas en el apartado anterior) para el correcto enlazado y obtener así la librería compartida _pycalapack.so
.
Por tanto, en el archivo setup.py
deberemos modificar el valor de las ubicaciones de las librerías necesarias y el nombre de las mismas. Por defecto, en su distribución actual el valor de las mismas es el siguiente:
library_dirs_list=['./BUILD','/usr/local/BLACS/BLACS_PYTHON/LIB', '/usr/local/mpich/lib','/usr/lib', '/usr/local/SCALAPACK/SCALAPACK/' ] libraries_list = [ 'scalapack', 'blacsF77init_MPI-LINUX-0', 'blacs_MPI-LINUX-0', 'blacsF77init_MPI-LINUX-0', 'blacsCinit_MPI-LINUX-0', 'blacs_MPI-LINUX-0', 'blacsCinit_MPI-LINUX-0', 'blas', 'mpich', 'g2c']
Se ha de observar que library_dirs_list
establece la ubicación o path donde el compilador buscará las librerías indicadas en libraries_list
. Se ha de tener en cuenta, que el nombre del archivo que el compilador busca (mediante el parámetro -lscalapack
) será libscalapack.a
. Es decir, el nombre de los ficheros de librerías deberán comenzar por ``lib
'' y terminar en ``.a
'', donde este prefijo y sufijo no son indicados en la lista libraries_list
.
En este punto se desea destacar que librerías como blacsCinit_MPI-LINUX-0
aparecen repetidas veces en el listado. Esto se debe al propio proceso de enlazado y es necesario para una correcta construcción del objeto final.
Por otro lado en el proceso de compilación que realizará Python mediante distutils
también deberemos indicar la ubicación de los archivos de inclusión y cabeceras referenciados en el código fuente de la distribución. La indicación de las ubicaciones de los archivos de inclusión se realiza mediante el listado:
include_dirs_list = ['./SRC','/usr/local/mpich/include']
python setup.py build
y si este proceso finaliza correctamente, un usuario con permisos de administrador podrá instalar el paquete en el sistema mediante:
python setup.py install
See Sobre este documento... para sugerencias en cambios.