Opened 12 years ago
Closed 11 years ago
#4630 closed defect (fixed)
LibDap test for version >= 3.10 fails due to libxml dependencies in headers
Reported by: | Sharpie | Owned by: | rburhum |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | ConfigBuild | Version: | 1.9.0 |
Severity: | normal | Keywords: | |
Cc: |
Description
The test on line 2277 of configure.in
fails on my system because insufficient header include paths are provided to compile the test program:
grendel:gdal-1.9.0 sharpie$ c++ islibdappost310.cpp -c -I/usr/local/include -I/usr/local/include/libdap -I/usr/local/include/dap In file included from /usr/local/include/libdap/AttrTable.h:54, from /usr/local/include/libdap/DAS.h:46, from /usr/local/include/libdap/Connect.h:62, from islibdappost310.cpp:1: /usr/local/include/libdap/XMLWriter.h:11:29: error: libxml/encoding.h: No such file or directory /usr/local/include/libdap/XMLWriter.h:12:30: error: libxml/xmlwriter.h: No such file or directory islibdappost310.cpp:2:47: warning: missing terminating ' character islibdappost310.cpp:2: error: missing terminating ' character In file included from /usr/local/include/libdap/AttrTable.h:54, from /usr/local/include/libdap/DAS.h:46, from /usr/local/include/libdap/Connect.h:62, from islibdappost310.cpp:1: /usr/local/include/libdap/XMLWriter.h:23: error: ‘xmlTextWriterPtr’ does not name a type /usr/local/include/libdap/XMLWriter.h:24: error: ‘xmlBufferPtr’ does not name a type /usr/local/include/libdap/XMLWriter.h:36: error: ‘xmlTextWriterPtr’ does not name a type
The test fails, so GDAL assumes the LibDAP version is < 3.10 which causes compilation to fail later on due to requirements for depreciated DAP headers that no longer exist. The test would succeed if it had the preprocessor flag -I/usr/include/libxml2
, which I add to CPPFLAGS
before running configure.
Possible solutions:
- Add
${CPPFLAGS}
to the test on line 2277 ofconfigure.in
so that the user can give configure some direction if things are in weird places.
- On line
2269
ofconfigure.in
, initializeDODS_INC
usingdap-config --cflags
ifdap-config
is available. On my system this returns everything necessary to find the headers needed by LibDAP:
grendel:gdal-1.9.0 sharpie$ dap-config --cflags -I/usr/local/Cellar/libdap/3.11.2/include/libdap -I/usr/include/libxml2
Change History (4)
comment:1 by , 12 years ago
comment:2 by , 11 years ago
Still broken in 1.9.2.
It may be the case that LibDAP changes its interface rapidly and is not worth the trouble of supporting anymore. However, that issue is somewhat external to the problem occurring here: the GDAL configure script makes no allowance for external headers that LibDAP may require when such information is obtainable from dap-config
and there is no pathway for the user to provide assistance.
comment:3 by , 11 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
I can reproduce this on OSX.
Do people actually use this DODS driver ? I'm wondering if it is still functional. I've noticed that building regularly breaks as the libdap interface breaks. Perhaps we should just remove those drivers ?