#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 , 12 years ago
Version: | unspecified → svn-trunk |
---|
comment:2 by , 12 years ago
follow-up: 4 comment:3 by , 12 years ago
Component: | default → GDAL_Raster |
---|---|
Milestone: | → 1.9.0 |
Resolution: | → fixed |
Status: | new → closed |
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...
comment:4 by , 12 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.
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.