Passa al contenuto principale

Guida all'installazione (Linux)

Questa guida fornisce istruzioni dettagliate su come distribuire ed eseguire MipMapEngine SDK su sistemi Linux.

📋 Requisiti di sistema

Configurazione consigliata

ComponenteRequisito
Sistema operativoUbuntu 22.04
CPUIntel/AMD x86_64 8 core o più
Memoria32 GB RAM
GPUNVIDIA GPU (supporto CUDA)
Driver graficoNVIDIA Driver >= 525.60.33
CUDACUDA 12.8
Spazio su disco1 TB di spazio disponibile

🚀 Passaggi di installazione

Passaggio 1: Verificare hardware e driver

Verificare informazioni GPU

# Verificare se NVIDIA GPU è installata
lspci | grep -i nvidia

# Verificare versione driver NVIDIA
nvidia-smi

Se i driver non sono installati o la versione è troppo bassa:

# Ubuntu installare driver NVIDIA
sudo apt update
sudo apt install nvidia-driver-***

Passaggio 2: Installare driver Virbox

Virbox è lo strumento di crittografia dell'SDK e deve essere installato.

# Installare strumenti utente Virbox
https://lm.virbox.com/tools.html

Passaggio 3: Attivare licenza

# Utilizzare license_engine fornito dall'SDK per attivare
./license_engine -bind YOUR-LICENSE-KEY

# Interrogare stato licenza
./license_engine -enum license_info.json
cat license_info.json

Passaggio 4: Estrarre SDK

# Estrarre pacchetto SDK
tar -xzvf MipMapEngine_SDK_Linux_v4.0.tar.gz

# Visualizzare struttura directory
cd MipMapEngine_SDK
ls -la
# Dovrebbe contenere:
# - bin/ # Eseguibili e librerie dinamiche
# - gdal_data/ # File dati GDAL
# - docs/ # Manuale utente
# - examples/ # Script di esempio

Passaggio 5: Configurare variabili d'ambiente

# Impostare percorso SDK (sostituire con percorso reale)
export MIPMAP_SDK_PATH=/path/to/MipMapEngine_SDK

# Impostare percorso libreria
export LD_LIBRARY_PATH=$MIPMAP_SDK_PATH/bin:$LD_LIBRARY_PATH

# Si consiglia di aggiungere 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

Passaggio 6: Verificare dipendenze

# Verificare dipendenze eseguibile
ldd $MIPMAP_SDK_PATH/lib/reconstruct_full_engine

# Se mancano librerie, installare pacchetti di sistema
# Ubuntu
apt-get update && apt-get install -y libgl1-mesa-dev libgeos-dev libgomp1 liblcms2-2 libquadmath0 libjbig0 libdeflate0 libopenexr25 libproj22

Passaggio 7: Verificare installazione

Creare file di configurazione test 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"
}
]
}

Eseguire test:

# Entrare nella directory SDK
cd $MIPMAP_SDK_PATH/bin

# Eseguire ricostruzione
./reconstruct_full_engine -reconstruct_type 0 -task_json test.json

# Verificare output
ls -la ./test_output/

🔧 Problemi comuni

1. libmipmap_engine.so mancante

Messaggio di errore:

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

Soluzione:

# Assicurarsi che il percorso della libreria sia corretto
export LD_LIBRARY_PATH=$MIPMAP_SDK_PATH/bin:$LD_LIBRARY_PATH

2. Errori correlati a CUDA

Messaggio di errore:

CUDA error: no CUDA-capable device is detected

Soluzione:

# Verificare driver GPU
nvidia-smi

# Aggiornare driver
sudo apt update
sudo apt upgrade nvidia-driver-*

4. Conflitti di versione delle librerie

Alcune librerie di sistema potrebbero entrare in conflitto con le librerie fornite dall'SDK:

# Identificare librerie in conflitto
ldd -v $MIPMAP_SDK_PATH/bin/reconstruct_full_engine

# Rimuovere temporaneamente librerie in conflitto
mv $MIPMAP_SDK_PATH/libconflict.so $MIPMAP_SDK_PATH/libconflict.so.bak

# Utilizzare librerie di sistema
# Il sistema caricherà automaticamente da /usr/lib

Prossimi passi


Suggerimento: La distribuzione Linux potrebbe richiedere aggiustamenti a causa delle differenze di distribuzione e ambiente. Si consiglia di verificare in un ambiente di test prima di distribuire in produzione.