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

protected by Community Aug 13 '13 at 17:27

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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