Guida all'installazione (Linux)
Questa guida fornisce istruzioni dettagliate su come distribuire ed eseguire MipMapEngine SDK su sistemi Linux.
📋 Requisiti di sistema
Configurazione consigliata
| Componente | Requisito |
|---|---|
| Sistema operativo | Ubuntu 22.04 |
| CPU | Intel/AMD x86_64 8 core o più |
| Memoria | 32 GB RAM |
| GPU | NVIDIA GPU (supporto CUDA) |
| Driver grafico | NVIDIA Driver >= 525.60.33 |
| CUDA | CUDA 12.8 |
| Spazio su disco | 1 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
- Consultare Avvio rapido per eseguire il primo progetto
- Leggere Riferimento API per interfacce dettagliate
- Fare riferimento a Risoluzione dei problemi per problemi comuni
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.