tags 729875 +patch Hi,
On Mon, Nov 18, 2013 at 03:04:51PM +0100, Roland Stigge wrote: > Source: gdal > Version: 1.9.0-3.1 > Severity: serious > > Hi! > > gdal FTBFS like this: > > =================================================================== > make[3]: Entering directory `/«PKGBUILDDIR»/frmts/dods' > /bin/bash /«PKGBUILDDIR»/libtool --mode=compile --tag=CXX g++ -g -O2 -Wall > -I/«PKGBUILDDIR»/port -I/«PKGBUILDDIR»/gcore -I/«PKGBUILDDIR»/alg > -I/«PKGBUILDDIR»/ogr -I/«PKGBUILDDIR»/ogr/ogrsf_frmts -DOGR_ENABLED > -I/«PKGBUILDDIR»/port -I/usr/include -I/usr/include -I/usr/include/libdap > -I/usr/include/dap -DLIBDAP_39 -c -o ../o/dodsdataset2.lo dodsdataset2.cpp > libtool: compile: g++ -g -O2 -Wall -I/«PKGBUILDDIR»/port > -I/«PKGBUILDDIR»/gcore -I/«PKGBUILDDIR»/alg -I/«PKGBUILDDIR»/ogr > -I/«PKGBUILDDIR»/ogr/ogrsf_frmts -DOGR_ENABLED -I/«PKGBUILDDIR»/port > -I/usr/include -I/usr/include -I/usr/include/libdap -I/usr/include/dap > -DLIBDAP_39 -c dodsdataset2.cpp -fPIC -DPIC -o ../o/.libs/dodsdataset2.o > In file included from /usr/include/libdap/AttrTable.h:54:0, > from /usr/include/libdap/BaseType.h:57, > from dodsdataset2.cpp:38: > /usr/include/libdap/XMLWriter.h:33:29: fatal error: libxml/encoding.h: No > such file or directory > compilation terminated. > make[3]: *** [../o/dodsdataset2.lo] Error 1 > make[2]: *** [dods-install-obj] Error 2 > make[3]: Leaving directory `/«PKGBUILDDIR»/frmts/dods' > make[2]: Leaving directory `/«PKGBUILDDIR»/frmts' > make[1]: *** [frmts-target] Error 2 > =================================================================== > > Looks like pkg-config of libdap isn't used correctly. Would include > -I/usr/include/libxml2 etc. Attached is a debdiff, taken from upstream changeset r25197. Michael
diff -Nru gdal-1.9.0/debian/changelog gdal-1.9.0/debian/changelog --- gdal-1.9.0/debian/changelog 2012-09-18 17:26:01.000000000 +0200 +++ gdal-1.9.0/debian/changelog 2013-11-22 20:07:56.000000000 +0100 @@ -1,3 +1,12 @@ +gdal (1.9.0-3.2) unstable; urgency=low + + * Non-maintainer upload. + * debian/patches/libdap-xml2-include: New patch, fixes required includes for + libdap, taken from upstream subversion revison 25197. + (Closes: #729875) + + -- Michael Banck <mba...@debian.org> Fri, 22 Nov 2013 20:02:42 +0100 + gdal (1.9.0-3.1) unstable; urgency=low * Non-maintainer upload. diff -Nru gdal-1.9.0/debian/patches/libdap-xml2-include gdal-1.9.0/debian/patches/libdap-xml2-include --- gdal-1.9.0/debian/patches/libdap-xml2-include 1970-01-01 01:00:00.000000000 +0100 +++ gdal-1.9.0/debian/patches/libdap-xml2-include 2013-11-22 20:07:31.000000000 +0100 @@ -0,0 +1,153 @@ +Index: gdal-1.9.0/configure.in +=================================================================== +--- gdal-1.9.0.orig/configure.in 2013-11-22 20:01:17.834062894 +0100 ++++ gdal-1.9.0/configure.in 2013-11-22 20:07:26.743982986 +0100 +@@ -2269,37 +2269,49 @@ + DODS_INC="-I$with_dods_root/include -I$with_dods_root/include/libdap -I$with_dods_root/include/dap" + DODS_BIN=$with_dods_root/bin + +-dnl Test if we have libdap >= 3.10 +-dnl From libdap 3.10, AISConnect.h has been renamed as Connect.h +-rm -f islibdappost310.* +-echo '#include "Connect.h"' > islibdappost310.cpp +-echo 'int main(int argc, char** argv) { return 0; } ' >> islibdappost310.cpp +-if test -z "`${CXX} islibdappost310.cpp -c ${DODS_INC} 2>&1`" ; then +-dnl yes, libdap >= 3.10 +- DODS_INC="$DODS_INC -DLIBDAP_310 -DLIBDAP_39" +- AC_MSG_RESULT([libdap >= 3.10]) +-else +- AC_MSG_RESULT([libdap < 3.10]) +- +- dnl Test if we have libdap < 3.9 +- dnl Before libdap < 3.9, DAS derived from AttrTable class +- dnl I wish they had defines with version numbers instead of this test ! +- rm -f islibdappre39.* +- echo '#include "DAS.h"' > islibdappre39.cpp +- echo '#include "AttrTable.h"' >> islibdappre39.cpp +- echo 'using namespace libdap;' >> islibdappre39.cpp +- echo 'int main(int argc, char** argv) { DAS oDAS; AttrTable& oAttrTable = oDAS; } ' >> islibdappre39.cpp +- if test -z "`${CXX} islibdappre39.cpp -c ${DODS_INC} 2>&1`" ; then +- dnl yes, libdap < 3.9 +- AC_MSG_RESULT([libdap < 3.9]) ++ dnl Check libdap version the sane way (if possible through dap-config) ++ if test -x $DODS_BIN/dap-config ; then ++ LIBDAP_VER=`${DODS_BIN}/dap-config --version |awk '{print \$2}'` ++ LIBDAP_CFLAGS=`${DODS_BIN}/dap-config --cflags` ++ dnl The dods driver needs LIBDAP_320 and LIBDAP_39 defined to include the right headers ++ DODS_INC="$DODS_INC $LIBDAP_CFLAGS -DLIBDAP_310 -DLIBDAP_39" ++ dnl libs from dap-config gets added further down ++ AC_MSG_RESULT([libdap $LIBDAP_VER]) + else +- DODS_INC="$DODS_INC -DLIBDAP_39" +- AC_MSG_RESULT([libdap >= 3.9]) +- fi +- rm -f islibdappre39.* ++ dnl Check the version by compiling test programs ++ ++ dnl Test if we have libdap >= 3.10 ++ dnl From libdap 3.10, AISConnect.h has been renamed as Connect.h ++ rm -f islibdappost310.* ++ echo '#include "Connect.h"' > islibdappost310.cpp ++ echo 'int main(int argc, char** argv) { return 0; } ' >> islibdappost310.cpp ++ if test -z "`${CXX} islibdappost310.cpp -c ${DODS_INC} ${CPPFLAGS} 2>&1`" ; then ++ dnl yes, libdap >= 3.10 ++ DODS_INC="$DODS_INC -DLIBDAP_310 -DLIBDAP_39" ++ AC_MSG_RESULT([libdap >= 3.10]) ++ else ++ AC_MSG_RESULT([libdap < 3.10]) + +-fi +-rm -f islibdappost310.* ++ dnl Test if we have libdap < 3.9 ++ dnl Before libdap < 3.9, DAS derived from AttrTable class ++ dnl I wish they had defines with version numbers instead of this test ! ++ rm -f islibdappre39.* ++ echo '#include "DAS.h"' > islibdappre39.cpp ++ echo '#include "AttrTable.h"' >> islibdappre39.cpp ++ echo 'using namespace libdap;' >> islibdappre39.cpp ++ echo 'int main(int argc, char** argv) { DAS oDAS; AttrTable& oAttrTable = oDAS; } ' >> islibdappre39.cpp ++ if test -z "`${CXX} islibdappre39.cpp -c ${DODS_INC} 2>&1`" ; then ++ dnl yes, libdap < 3.9 ++ AC_MSG_RESULT([libdap < 3.9]) ++ else ++ DODS_INC="$DODS_INC -DLIBDAP_39" ++ AC_MSG_RESULT([libdap >= 3.9]) ++ fi ++ rm -f islibdappre39.* ++ ++ fi ++ rm -f islibdappost310.* ++ fi + + + dnl Add the DODS libraries to LIBS +Index: gdal-1.9.0/configure +=================================================================== +--- gdal-1.9.0.orig/configure 2013-11-22 20:07:26.711982819 +0100 ++++ gdal-1.9.0/configure 2013-11-22 20:07:26.751983020 +0100 +@@ -24194,34 +24194,43 @@ + DODS_INC="-I$with_dods_root/include -I$with_dods_root/include/libdap -I$with_dods_root/include/dap" + DODS_BIN=$with_dods_root/bin + +-rm -f islibdappost310.* +-echo '#include "Connect.h"' > islibdappost310.cpp +-echo 'int main(int argc, char** argv) { return 0; } ' >> islibdappost310.cpp +-if test -z "`${CXX} islibdappost310.cpp -c ${DODS_INC} 2>&1`" ; then +- DODS_INC="$DODS_INC -DLIBDAP_310 -DLIBDAP_39" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: libdap >= 3.10" >&5 ++ if test -x $DODS_BIN/dap-config ; then ++ LIBDAP_VER=`${DODS_BIN}/dap-config --version |awk '{print \$2}'` ++ LIBDAP_CFLAGS=`${DODS_BIN}/dap-config --cflags` ++ DODS_INC="$DODS_INC $LIBDAP_CFLAGS -DLIBDAP_310 -DLIBDAP_39" ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: libdap $LIBDAP_VER" >&5 ++$as_echo "libdap $LIBDAP_VER" >&6; } ++ else ++ ++ rm -f islibdappost310.* ++ echo '#include "Connect.h"' > islibdappost310.cpp ++ echo 'int main(int argc, char** argv) { return 0; } ' >> islibdappost310.cpp ++ if test -z "`${CXX} islibdappost310.cpp -c ${DODS_INC} ${CPPFLAGS} 2>&1`" ; then ++ DODS_INC="$DODS_INC -DLIBDAP_310 -DLIBDAP_39" ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: libdap >= 3.10" >&5 + $as_echo "libdap >= 3.10" >&6; } +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: libdap < 3.10" >&5 ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: libdap < 3.10" >&5 + $as_echo "libdap < 3.10" >&6; } + +- rm -f islibdappre39.* +- echo '#include "DAS.h"' > islibdappre39.cpp +- echo '#include "AttrTable.h"' >> islibdappre39.cpp +- echo 'using namespace libdap;' >> islibdappre39.cpp +- echo 'int main(int argc, char** argv) { DAS oDAS; AttrTable& oAttrTable = oDAS; } ' >> islibdappre39.cpp +- if test -z "`${CXX} islibdappre39.cpp -c ${DODS_INC} 2>&1`" ; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: libdap < 3.9" >&5 ++ rm -f islibdappre39.* ++ echo '#include "DAS.h"' > islibdappre39.cpp ++ echo '#include "AttrTable.h"' >> islibdappre39.cpp ++ echo 'using namespace libdap;' >> islibdappre39.cpp ++ echo 'int main(int argc, char** argv) { DAS oDAS; AttrTable& oAttrTable = oDAS; } ' >> islibdappre39.cpp ++ if test -z "`${CXX} islibdappre39.cpp -c ${DODS_INC} 2>&1`" ; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: libdap < 3.9" >&5 + $as_echo "libdap < 3.9" >&6; } +- else +- DODS_INC="$DODS_INC -DLIBDAP_39" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: libdap >= 3.9" >&5 ++ else ++ DODS_INC="$DODS_INC -DLIBDAP_39" ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: libdap >= 3.9" >&5 + $as_echo "libdap >= 3.9" >&6; } +- fi +- rm -f islibdappre39.* ++ fi ++ rm -f islibdappre39.* + +-fi +-rm -f islibdappost310.* ++ fi ++ rm -f islibdappost310.* ++ fi + + + if test -x $DODS_BIN/opendap-config ; then diff -Nru gdal-1.9.0/debian/patches/series gdal-1.9.0/debian/patches/series --- gdal-1.9.0/debian/patches/series 2012-08-27 18:22:45.000000000 +0200 +++ gdal-1.9.0/debian/patches/series 2013-11-22 20:02:38.000000000 +0100 @@ -10,3 +10,4 @@ symver spatialite force-ruby1.8 +libdap-xml2-include