10

I have followed various online help guides on how to make ecw for QGIS 1.8 work in Ubuntu 12.04. I had it all working in Ubuntu 10.04 but since migration to 12.04 no such luck.

Is there a guide that works for Ubuntu 12.04?

At the moment it seems easier to install the windows version where ecw support is included in the install, but I would like to stay with Ubuntu.

8

ECW libraries are not open source software and cannot be freely distributed. You need to add manually the ecw support in your local copy of gdal. On ubuntu do this:

wget http://de-mirror.org/distro/gentoo/distfiles/libecwj2-3.3-2006-09-06.zip
unzip libecwj2-3.3-2006-09-06.zip
cd libecwj2-3.3
./configure
make
sudo make install
sudo gdal-ecw-build /usr/local/ 
sudo ldconfig
7

The Intergraph ECW JPEG2000 SDK v5.0 has been released and includes linux support. The ubuntugis-unstable ppa has been updated to include SDK v5.0 support in libgdal-ecw-src.

Notes:

  • As at 27 July 2013 build fails on 32bit Ubuntu
  • ECW/JP2ECW drivers fail using Python bindings, gdal executables work fine.
  • This SDK is licensed for Desktop use only and has been reported to fail if attempting to use it in a Server application.

To get the ECW JPEG2000 SDK v5.0 working in ubuntu 12.04 - 13.04 64bit:

  • update (or install) libgdal-ecw-src from the UbuntuGIS Unstable PPA
  • download the SDK installer (ERDAS_ECWJP2_SDK-5.0.bin)
  • make it executable (chmod +x ERDAS_ECWJP2_SDK-5.0.bin)
  • run it (./ERDAS_ECWJP2_SDK-5.0.bin)
  • copy the SDK directory to /usr/local (sudo cp -r ecwjp2_sdk /usr/local/)
  • symlink libNCSEcw.so to /usr/local/lib (sudo ln -s /usr/local/ecwjp2_sdk/lib/x64/release/libNCSEcw.so /usr/local/lib/libNCSEcw.so)
  • update ldconfig (sudo ldconfig)
  • run the gdal-ecw-build script (sudo gdal-ecw-build /usr/local/ecwjp2_sdk)
  • test it works:

    gdalinfo --formats | grep -i ecw

    ECW (rw+): ERDAS Compressed Wavelets (SDK 5.0)

    JP2ECW (rw+v): ERDAS JPEG2000 (SDK 5.0)

  • To use python bindings this is a workaround that worked for me: 1. Install SDK 5.0 library in ecwjp2_sdk directory; 2. Compile gdal library from source with the following syntax: . / configure - with-python = yes - with-ecw = / path/to/SDK/ecwjp2_sdk – MickyInTheSky May 6 '14 at 10:40
  • Yes it should, for completeness. For me there is no problem if you want to update the answer. – MickyInTheSky May 6 '14 at 10:57
  • By now, the SDK has switched to 5.1. I described an updated workflow for Ubuntu 14.04 here: gis.stackexchange.com/questions/94870/…. For 12.04, you don't have to download the build script manually, apt-get install will work. – AndreJ Jun 15 '14 at 12:19
2

The how-to linked here is the only one that worked for me on Ubuntu 12.04 32bit and the latest version of QGIS.

Here I reproduce the steps, with the corresponding adjustments:

  1. Go to http://download.intergraph.com/ and select "ECW Products" from the drop-down list under "Product Family:".
  2. Click on "ERDAS ECW/JP2 SDK v5.3 (Linux)" (version 5.3 available from 2016-06-14) and then click on "Download Now"
  3. You have to register with the website.
  4. Unzip the downloaded file, e.g.:

unzip erdas-ecw-sdk-5.3.0-linux.zip 
  1. Make the unzipped binary executable:

chmod +x ERDAS_ECWJP2_SDK-5.3.0.bin 
  1. Execute the program; select option "Desktop read-only"

./ERDAS_ECWJP2_SDK-5.3.0.bin
  1. Now copy the ERDAS_ECWJP2_SDK-5.3.0 folder to /usr/local:

sudo cp -r ERDAS-ECW_JPEG_2000_SDK-5.2.1 /usr/local/
  1. Locate libNCSEcw.so and create a symbolic ("soft") link to it. Use folder x86 or x64 according to your system:

sudo ln -s /usr/local/ERDAS-ECW_JPEG_2000_SDK-5.2.1/Desktop_Read-Only/lib/x86/release/libNCSEcw.so /usr/local/lib/libNCSEcw.so
  1. Now run the following commands (update dynamic links, install ECW GDAL extension and run it):

sudo ldconfig
sudo apt-get install libgdal-ecw-src
sudo gdal-ecw-build /usr/local/ERDAS-ECW_JPEG_2000_SDK-5.2.1/Desktop_Read-Only
  1. Confirm that everything worked:

gdalinfo --formats | grep -i ecw

You should get something like


    ECW (rw+): ERDAS Compressed Wavelets (SDK 5.3)
    JP2ECW (rw+v): ERDAS JPEG2000 (SDK 5.3)
  1. Now you can run QGIS to import ECW files on a raster layer.

Very soon I should be able to report how it worked on Ubuntu 16.04 64bit, but please comment or edit this answer if you did it already.

  • Which GDAL version did you use, and any need for ubuntugis packages? – AndreJ Jul 26 '16 at 5:56
  • I had the ubuntugis and qgis repositories installed from long before, so I am not really sure which packages, if any, from ubuntugis are required. As for the GDAL version, it turns out I have gdal-bin 1.10.0-1~precise2, installed 2012-03-15, libgdal1-1.7.0 1.7.3-6ubuntu3 installed 2012-05-09, etc. libgdal-ecw-src was installed, obviously, just recently, and it's version 1.10.0. – carnendil Jul 26 '16 at 6:06
  • So you will be out of luck on a new, clean system, since you get GDAL 2.1.0 by default, but the libgdal-ecw-src is not available for anything newer than GDAL 1.10 for precise. I made a workaround for trusty and GDAL 1.11 at gis.stackexchange.com/questions/94870/…, but that lacks python support already, – AndreJ Jul 26 '16 at 8:49

Not the answer you're looking for? Browse other questions tagged or ask your own question.