Para compilar asumiendo que tiene todas las dependencias en su ruta de búsqueda
git clone https://github.com/MobilityDB/MobilityDB mkdir MobilityDB/build cd MobilityDB/build cmake .. make sudo make install
Los comandos anteriores instalan la rama master
. Si desea instalar otra rama, por ejemplo, develop
, puede reemplazar el primer comando anterior de la siguiente manera:
git clone --branch develop https://github.com/MobilityDB/MobilityDB
También debe configurar lo siguiente en el archivo postgresql.conf
según la versión de PostGIS que haya instalado (a continuación usamos PostGIS 3):
shared_preload_libraries = 'postgis-3' max_locks_per_transaction = 128
Si no carga previamente la biblioteca PostGIS con la configuración anterior, no podrá cargar la biblioteca MobilityDB y obtendrá un mensaje de error como el siguiente:
ERROR: could not load library "/usr/local/pgsql/lib/libMobilityDB-1.1.so": undefined symbol: ST_Distance
Puede encontrar la ubicación del archivo postgresql.conf
de la manera siguiente.
$ which postgres /usr/local/pgsql/bin/postgres $ ls /usr/local/pgsql/data/postgresql.conf /usr/local/pgsql/data/postgresql.conf
Como puede verse, los binarios de PostgreSQL están en el subdirectorio bin
mientras que el archivo postgresql.conf
está en el subdirectorio data
.
Una vez que MobilityDB está instalado, debe habilitarse en cada base de datos en la que desee usarlo. En el siguiente ejemplo, usamos una base de datos llamada mobility
.
createdb mobility psql mobility -c "CREATE EXTENSION PostGIS" psql mobility -c "CREATE EXTENSION MobilityDB"
Las dos extensiones PostGIS y MobilityDB también se pueden crear en un solo comando.
psql mobility -c "CREATE EXTENSION MobilityDB cascade"
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 “Versión corta” 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 “Versión corta” para las instrucciones de compilación (no hay tar ball).
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;
Dependencias de compilación
Para poder compilar MobilityDB, asegúrese de que se cumplan las siguientes dependencias:
Sistema de compilación multiplataforma CMake
.
Compilador C gcc
o clang
. Se pueden usar otros compiladores ANSI C, pero pueden causar problemas al compilar algunas dependencias.
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 12 o superior. PostgreSQL está disponible en http://www.postgresql.org.
PostGIS versión 3 o superior. PostGIS está disponible en https://postgis.net/.
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.
Nótese que PostGIS tiene sus propias dependencias, como Proj, GEOS, LibXML2 o JSON-C y estas bibliotecas también se utilizan en MobilityDB. Consulte http://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS para obtener una matriz de compatibilidad de PostGIS con PostgreSQL, GEOS y Proj.
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-14 postgresql-server-dev-14 postgresql-14-postgis
Dependencias de construcción
sudo apt-get install cmake gcc libgsl-dev
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 ..
Nótese que la versión actual de MobilityDB solo se ha probado en sistemas Linux, MacOS y Windows. Puede funcionar en otros sistemas similares a Unix, pero no se ha probado. 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.
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 '021_tbox'
Para ejecutar un conjunto de archivos de prueba determinados se pueden utilizar comodines
ctest -R '022_*'
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:
Tabla 1.1. Variables para la documentación del usuario y del desarrollador
Variable | Valor por defecto | Comentario |
---|---|---|
DOC_ALL | BOOL=OFF | La documentación del usuario se genera en formatos HTML, PDF y EPUB. |
DOC_HTML | BOOL=OFF | La documentación del usuario se genera en formato HTML. |
DOC_PDF | BOOL=OFF | La documentación del usuario se genera en formato PDF. |
DOC_EPUB | BOOL=OFF | La documentación del usuario se genera en formato EPUB. |
LANG_ALL | BOOL=OFF | La documentación del usuario se genera en inglés y en todas las traducciones disponibles. |
ES | BOOL=OFF | La documentación del usuario se genera en inglés y en español. |
DOC_DEV | BOOL=OFF | La documentación del desarrollador en inglés se genera en formato HTML |
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