1.5. Instalación

1.5.1. Versión corta

Extraer el tar ball

tar xvfz MobilityDB-1.0.tar.gz
cd MobilityDB-1.0

Para compilar asumiendo que tiene todas las dependencias en su ruta de búsqueda

mkdir build
cd build
cmake  ..
make
sudo make install

Una vez que MobilityDB está instalado, debe habilitarse en cada base de datos individual en la que desee usarlo. En éste ejemplo se usa la versión 2.5.5 de PostGIS.

createdb mobility
psql mobility -c "CREATE EXTENSION PostGIS WITH VERSION'2.5.5'"
psql mobility -c 'CREATE EXTENSION MobilityDB'

1.5.2. Obtener las fuentes

La última versión de MobilityDB se puede encontrar en https://github.com/MobilityDB/MobilityDB/releases/latest

wget

Para descargar esta versión:

wget -O mobilitydb-1.0.tar.gz https://github.com/MobilityDB/MobilityDB/archive/v1.0.tar.gz

Ir a la Sección 1.5.1 para las instrucciones de extracción y compilación.

git

Para descargar el repositorio

git clone https://github.com/MobilityDB/MobilityDB.git
cd MobilityDB
git checkout v1.0

Ir a la Sección 1.5.1 para las instrucciones de compilación (no hay tar ball).

1.5.3. Habilitación de la base de datos

MobilityDB es una extensión que depende de PostGIS. Habilitar PostGIS antes de habilitar MobilityDB en la base de datos se puede hacer de la siguiente manera

CREATE EXTENSION postgis;
CREATE EXTENSION mobilitydb;

Alternativamente, esto se puede hacer con un solo comando usando CASCADE, que instala la extensión PostGIS requerida antes de instalar la extensión MobilityDB

CREATE EXTENSION mobilitydb CASCADE;

1.5.4. Dependencias

Dependencias de compilación

Para poder compilar MobilityDB, asegúrese de que se cumplan las siguientes dependencias:

  • Compilador GNU C (gcc). Se pueden usar algunos otros compiladores ANSI C, pero pueden causar problemas al compilar algunas dependencias como PostGIS.

  • GNU Make (gmake o make) versión 3.1 o superior. Para muchos sistemas, GNU make es la versión predeterminada de make. Verifique la versión invocando make -v.

  • PostgreSQL versión 10 o superior. PostgreSQL está disponible en http://www.postgresql.org. Tenga en cuenta que para usar índices SP-GiST para MobilityDB, necesita al menos la versión 11 de PostgreSQL.

  • PostGIS versión 2.5. PostGIS está disponible en https://postgis.net/. Actualmente, la versión 3.0 o superior de PostGIS no es compatible, esto está previsto para futuras versiones de MobilityDB.

  • Biblioteca científica GNU (GSL). GSL está disponible en https://www.gnu.org/software/gsl/. GSL se utiliza para los generadores de números aleatorios.

Tenga en cuenta que PostGIS tiene sus propias dependencias, como Proj4, GEOS, LibXML2 o JSON-C y estas bibliotecas también se utilizan en MobilityDB. Para obtener una matriz de compatibilidad completa de PostgreSQL/PostGIS y una matriz de compatibilidad de PostGIS/GEOS, consulte http://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS.

Dependencias opcionales

Para la documentación del usuario

  • Los archivos DocBook DTD y XSL son necesarios para crear la documentación. Para Ubuntu, son proporcionados por los paquetes docbook y docbook-xsl.

  • El validador XML xmllint es necesario para validar los archivos XML de la documentación. Para Ubuntu, lo proporciona el paquete libxml2.

  • El procesador XSLT xsltproc es necesario para crear la documentación en formato HTML. Para Ubuntu, lo proporciona el paquete libxslt.

  • El programa dblatex es necesario para crear la documentación en formato PDF. Para Ubuntu, lo proporciona el paquete dblatex.

  • El programa dbtoepub es necesario para construir la documentación en formato EPUB. Para Ubuntu, lo proporciona el paquete dbtoepub.

Para la documentación de los desarrolladores

  • El programa doxygen es necesario para construir la documentación. Para Ubuntu, lo proporciona el paquete doxygen.

Ejemplo: instalar dependencias en Linux

Dependencias de base de datos

sudo apt-get install postgresql-13 postgresql-server-dev-13 postgresql-13-postgis

Dependencias de construcción

sudo apt-get install cmake gcc libgsl-dev

1.5.5. Configuración

MobilityDB usa el sistema cmake para realizar la configuración. El directorio de compilación deber ser diferente del directorio de origen.

Para crear el directorio de compilación

mkdir build

Para ver las variables que se pueden configurar

cd build
cmake -L ..

1.5.6. Construir e instalar

Tenga en cuenta que la versión actual de MobilityDB solo se ha probado en sistemas Linux. Puede funcionar en otros sistemas similares a UNIX, pero no se ha probado. Está previsto el soporte para Windows. Buscamos voluntarios que nos ayuden a probar MobilityDB en múltiples plataformas.

Las siguientes instrucciones comienzan desde path/to/MobilityDB en un sistema Linux

mkdir build
cd build
cmake ..
make
sudo make install

Cuando cambia la configuración

rm -rf build

e inicie el proceso de construcción como se mencionó anteriormente.

1.5.7. Pruebas

MobilityDB utiliza ctest, el programa controlador de pruebas de CMake, para realizar pruebas. Este programa ejecutará las pruebas e informará los resultados.

Para ejecutar todas las pruebas

ctest

Para ejecutar un archivo de prueba dado

ctest -R '21_tbox'

Para ejecutar un conjunto de archivos de prueba determinados se pueden utilizar comodines

ctest -R '22_*'

1.5.8. Documentación

La documentación del usuario de MobilityDB se puede generar en formato HTML, PDF y EPUB. Además, la documentación está disponible en inglés y en otros idiomas (actualmente, solo en español). La documentación del usuario se puede generar en todos los formatos y en todos los idiomas, o se pueden especificar formatos y/o idiomas específicos. La documentación del desarrollador de MobilityDB solo se puede generar en formato HTML y en inglés.

Las variables utilizadas para generar la documentación del usuario y del desarrollador son las siguientes:

VariableValor por defectoComentario
DOC_ALLBOOL=OFFLa documentación del usuario se genera en formatos HTML, PDF y EPUB.
DOC_HTMLBOOL=OFFLa documentación del usuario se genera en formato HTML.
DOC_PDFBOOL=OFFLa documentación del usuario se genera en formato PDF.
DOC_EPUBBOOL=OFFLa documentación del usuario se genera en formato EPUB.
LANG_ALLBOOL=OFFLa documentación del usuario se genera en inglés y en todas las traducciones disponibles.
ESBOOL=OFFLa documentación del usuario se genera en inglés y en español.
DOC_DEVBOOL=OFFLa documentación del desarrollador en inglés se genera en formato HTML

Tabla 1.1. Variables para la documentación del usuario y del desarrollador


Generar la documentación del usuario y del desarrollador en todos los formatos y en todos los idiomas.

cmake -D DOC_ALL=ON -D LANG_ALL=ON -D DOC_DEV=ON ..
make doc
make doc_dev

Generar la documentación del usuario en formato HTML y en todos los idiomas.

cmake -D DOC_HTML=ON -D LANG_ALL=ON ..
make doc

Generar la documentación del usuario en inglés en todos los formatos.

cmake -D DOC_ALL=ON ..
make doc

Generar la documentación del usuario en formato PDF en inglés y en español.

cmake -D DOC_PDF=ON -D ES=ON ..
make doc