Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#4084 closed defect (fixed)

epsilon support: 0.9.1 change can cause syntax error.

Reported by: frankie Owned by: warmerdam
Priority: normal Milestone: 1.9.0
Component: GDAL_Raster Version:
Severity: normal Keywords:
Cc:

Description

epsilon.h in 0.9.1 moved an unnamed union to a named (hdr_data) one. That could cause a syntax error with some compilers in epsilondataset.cpp. See:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626234

It is probably better testing at building time about that.

Change History (4)

comment:1 by frankie, 13 years ago

Version: unspecifiedsvn-trunk

comment:2 by frankie, 13 years ago

Just for completeness, the correct approach in a pure C library is that used in 0.9.1, but unnamed unions are legal in C++, so some compilers accept them equally well in C and C++. I would simply require a >= 0.9.1 version for epsilon and stop. Supporting a previous (less portable) version is probably pointless.

comment:3 by Even Rouault, 13 years ago

Component: defaultGDAL_Raster
Milestone: 1.9.0
Resolution: fixed
Status: newclosed
Version: svn-trunk

r22363 /trunk/gdal/frmts/epsilon/ (epsilondataset.cpp frmt_epsilon.html): Epsilon: now require libepsilon 0.9.1 to build. Update libepsilon licence (now dual LGPL/GPL) in the doc (#4084)

I'm a bit hesitant about backporting this in 1.8.X. There are probably people that use 0.8.1 happily with 1.8.0 and they wouldn't like to be obliged to upgrade libepsilon because they upgrade gdal. A configure test could be written, but I'm just not motivated enough to do that for a marginally used driver...

in reply to:  3 comment:4 by sharpie, 13 years ago

I'm a bit hesitant about backporting this in 1.8.X. There are probably people that use 0.8.1 happily with 1.8.0 and they wouldn't like to be obliged to upgrade libepsilon because they upgrade gdal. A configure test could be written, but I'm just not motivated enough to do that for a marginally used driver...

I wish it was backported---EPSILON had issues that prevented it from building on OS X until the 0.9.x series was released.

Note: See TracTickets for help on using tickets.