Saltar al contenido principal

Guía de Instalación (Linux)

Esta guía proporciona instrucciones detalladas sobre cómo implementar y ejecutar MipMapEngine SDK en sistemas Linux.

📋 Requisitos del Sistema

Configuración Recomendada

ComponenteRequisito
Sistema OperativoUbuntu 22.04
CPUIntel/AMD x86_64 8 núcleos o más
Memoria32 GB RAM
GPUNVIDIA GPU (soporte CUDA)
Controlador GráficoNVIDIA Driver >= 525.60.33
CUDACUDA 12.8
Espacio en Disco1 TB de espacio disponible

🚀 Pasos de Instalación

Paso 1: Verificar Hardware y Controladores

Verificar Información de GPU

# Verificar si NVIDIA GPU está instalada
lspci | grep -i nvidia

# Verificar versión del controlador NVIDIA
nvidia-smi

Si los controladores no están instalados o la versión es demasiado baja:

# Ubuntu instalar controlador NVIDIA
sudo apt update
sudo apt install nvidia-driver-***

Paso 2: Instalar Controlador Virbox

Virbox es la herramienta de cifrado del SDK y debe instalarse.

# Instalar herramientas de usuario Virbox
https://lm.virbox.com/tools.html

Paso 3: Activar Licencia

# Usar license_engine proporcionado por SDK para activar
./license_engine -bind YOUR-LICENSE-KEY

# Consultar estado de licencia
./license_engine -enum license_info.json
cat license_info.json

Paso 4: Extraer SDK

# Extraer paquete SDK
tar -xzvf MipMapEngine_SDK_Linux_v4.0.tar.gz

# Ver estructura del directorio
cd MipMapEngine_SDK
ls -la
# Debe contener:
# - bin/ # Ejecutables y bibliotecas dinámicas
# - gdal_data/ # Archivos de datos GDAL
# - docs/ # Manual de usuario
# - examples/ # Scripts de ejemplo

Paso 5: Configurar Variables de Entorno

# Establecer ruta SDK (reemplazar con ruta real)
export MIPMAP_SDK_PATH=/path/to/MipMapEngine_SDK

# Establecer ruta de biblioteca
export LD_LIBRARY_PATH=$MIPMAP_SDK_PATH/bin:$LD_LIBRARY_PATH

# Se recomienda agregar a ~/.bashrc o ~/.profile
echo 'export MIPMAP_SDK_PATH=/path/to/MipMapEngine_SDK' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=$MIPMAP_SDK_PATH/bin:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

Paso 6: Verificar Dependencias

# Verificar dependencias del ejecutable
ldd $MIPMAP_SDK_PATH/lib/reconstruct_full_engine

# Si faltan bibliotecas, instalar paquetes del sistema
# Ubuntu
apt-get update && apt-get install -y libgl1-mesa-dev libgeos-dev libgomp1 liblcms2-2 libquadmath0 libjbig0 libdeflate0 libopenexr25 libproj22

Paso 7: Verificar Instalación

Crear archivo de configuración de prueba test.json:

{
"working_dir": "./test_output",
"gdal_folder": "/path/to/MipMapEngine_SDK/gdal_data",
"input_image_type": 1,
"resolution_level": 3,
"coordinate_system": {
"type": 2,
"epsg_code": 4326
},
"image_meta_data": [
{
"id": 1,
"path": "/path/to/test/image1.jpg"
},
{
"id": 2,
"path": "/path/to/test/image2.jpg"
}
]
}

Ejecutar prueba:

# Entrar al directorio SDK
cd $MIPMAP_SDK_PATH/bin

# Ejecutar reconstrucción
./reconstruct_full_engine -reconstruct_type 0 -task_json test.json

# Verificar salida
ls -la ./test_output/

🔧 Problemas Comunes

1. Falta libmipmap_engine.so

Mensaje de error:

error while loading shared libraries: libmipmap_engine.so: cannot open shared object file

Solución:

# Asegurarse de que la ruta de biblioteca sea correcta
export LD_LIBRARY_PATH=$MIPMAP_SDK_PATH/bin:$LD_LIBRARY_PATH

2. Errores relacionados con CUDA

Mensaje de error:

CUDA error: no CUDA-capable device is detected

Solución:

# Verificar controladores GPU
nvidia-smi

# Actualizar controladores
sudo apt update
sudo apt upgrade nvidia-driver-*

4. Conflictos de Versión de Biblioteca

Algunas bibliotecas del sistema pueden entrar en conflicto con las bibliotecas proporcionadas por SDK:

# Identificar bibliotecas en conflicto
ldd -v $MIPMAP_SDK_PATH/bin/reconstruct_full_engine

# Eliminar temporalmente bibliotecas en conflicto
mv $MIPMAP_SDK_PATH/libconflict.so $MIPMAP_SDK_PATH/libconflict.so.bak

# Usar bibliotecas del sistema
# El sistema cargará automáticamente desde /usr/lib

Próximos Pasos


Consejo: La implementación en Linux puede requerir ajustes debido a diferencias de distribución y entorno. Se recomienda verificar en un entorno de prueba antes de implementar en producción.