2016-05-18 17 views
21

Ecco la mia sequenza di righe di comando durante il tentativo di installare gdal2.1 in una macchina virtuale UBUNTU. La mia macchina virtuale è un UBUNTU 16.04 LTS (64 bit). Avrei bisogno di gdal2.1 e in particolare dei collegamenti Python per lavorare con esso in python. La versione di python attualmente installata è la 2.7.11+ e ho installato numpy perché so che è necessario per GDAL. ora le righe di comando con lepython GDAL 2.1 installazione su Ubuntu 16.04

istruzioni che ho trovato nella pagina PyPI di GDAL2.1:

[email protected]:~$ sudo apt-get install libgdal1i 

    libgdal1i is already the newest version (1.11.3+dfsg-3build2). 

    [email protected]:~$ sudo apt-get install libgdal1-dev 

    libgdal1-dev is already the newest version (1.11.3+dfsg-3build2). 

    [email protected]:~$ sudo pip install gdal 

    Collecting gdal Downloading GDAL-2.1.0.tar.gz (619kB) 100% |████████████████████████████████| 624kB 247kB/s 

    Installing collected packages: gdal 

    Running setup.py install for gdal ... error 


    Complete output from command /usr/bin/python -u -c "import setuptools, 


tokenize;file='/tmp/pip-build-_sHDUY/gdal/setup.py'; 


exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', 


'\n'), file, 'exec'))" install --record /tmp/pip-eOB65J-record/install- 


record.txt --single-version-externally-managed --compile: 


running install 

running build 

running build_py 

creating build 

creating build/lib.linux-x86_64-2.7 

copying gdal.py -> build/lib.linux-x86_64-2.7 

copying ogr.py -> build/lib.linux-x86_64-2.7 

copying osr.py -> build/lib.linux-x86_64-2.7 

copying gdalconst.py -> build/lib.linux-x86_64-2.7 

copying gdalnumeric.py -> build/lib.linux-x86_64-2.7 

creating build/lib.linux-x86_64-2.7/osgeo 

copying osgeo/gdal.py -> build/lib.linux-x86_64-2.7/osgeo 

copying osgeo/gdalconst.py -> build/lib.linux-x86_64-2.7/osgeo 

copying osgeo/osr.py -> build/lib.linux-x86_64-2.7/osgeo 

copying osgeo/__init__.py -> build/lib.linux-x86_64-2.7/osgeo 

copying osgeo/ogr.py -> build/lib.linux-x86_64-2.7/osgeo 

copying osgeo/gdal_array.py -> build/lib.linux-x86_64-2.7/osgeo 

copying osgeo/gnm.py -> build/lib.linux-x86_64-2.7/osgeo 

copying osgeo/gdalnumeric.py -> build/lib.linux-x86_64-2.7/osgeo 

running build_ext 

building 'osgeo._gdal' extension 

creating build/temp.linux-x86_64-2.7 

creating build/temp.linux-x86_64-2.7/extensions 

x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I../../port -I../../gcore -I../../alg -I../../ogr/ -I../../ogr/ogrsf_frmts -I../../gnm -I../../apps -I/usr/include/python2.7 -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include -c extensions/gdal_wrap.cpp -o build/temp.linux-x86_64-2.7/extensions/gdal_wrap.o 
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ 
extensions/gdal_wrap.cpp:3085:22: fatal error: cpl_port.h: File o directory non 

esistente 

compilation terminated. 
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 

---------------------------------------- 

Command "/usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-_sHDUY/gdal/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-eOB65J-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-_sHDUY/gdal/ 

questo era quello che ho ottenuto. Si consideri che la VM non ha altri software o pacchetti installati. Spero che mi può aiutare, usando GDAL2.1 sarebbe così importante ..

ho cercato di chiedere qualche suggerimento nella sezione GIS, ma non ho avuto risposte finora

risposta

1

Avete installato python-dev?

Prima di installare qualsiasi cosa dal sorgente in Ubuntu, suggerisco di occuparsi delle dipendenze di compilazione.

sudo apt-get build-dep python-gdal 

Quindi provare a eseguire l'installazione.

9

versione "python-gdal" 2.1.0 richiede gdal la versione 2.1.0. Quindi l'installazione di "libgdal1" versione 1.11.3 non è sufficiente. Get GDAL-2.1.0: collegamenti $ sudo apt-get build-dep gdal

costruzione e l'installazione di GDAL-2.1.0 e Python:: http://download.osgeo.org/gdal/2.1.0/gdal-2.1.0.tar.gz

E i ~ 43 dipendenze

$ cd gdal-2.1.0/ 
$ ./configure --prefix=/usr/ 
$ make 
$ sudo make install 
$ cd swig/python/ 
$ sudo python setup.py install 

... Nessun problema qui, utilizzando Ubuntu 16.04 - 64 bit.


+0

Stranamente, ottengo un errore - 'GDAL-2.1.0/.libs/libgdal.so: riferimento non definito a \ 'kmldom :: SerializePretty (boost :: intrusive_ptr const &) '' - nota l'apice prima di 'kmldom', ma una virgoletta singola dopo' const &) ' . In precedenza avevo due errori, perché 'libgdal.so' aveva bisogno di' png_set_longjmp_fn() 'che richiede' libpng' 1.4+ - l'installazione di base sembrava essere libpng1.2.54, e quando ho installato 'libpng16-dev' il secondo' make' errore andato via .. –

39

Quello che ha funzionato per me è questo: https://gis.stackexchange.com/a/193828/66527

Qui di seguito, copio che risposta:

È possibile scaricare GDAL 2.1 per Windows da GIS Internals. C'è un programma di installazione e una versione portatile che non richiede installazione.

GDAL 2.1 è disponibile per Ubuntu 16.04 dal UbuntuGIS-Unstable PPA

sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable 
sudo apt update 
sudo apt upgrade # if you already have gdal 1.11 installed 
sudo apt install gdal-bin python-gdal python3-gdal # if you don't have gdal 1.11 already installed 

Nota Ubuntu 16.04 è dotato di python 3.5, ma usa python 2.7 come predefinito

+3

Funziona anche per Ubuntu 14.04. – mrgloom

+1

Ha funzionato per me per un'immagine di finestra mobile Ubuntu17.10. –

+0

Divertente che la risposta originale gis abbia 12 voti e la risposta copiata 33. –