tags 360389 patch
thanks

On Sat, Apr 01, 2006 at 11:13:53PM +0200, Kurt Roeckx wrote:

> Your package is failing to build with the following error:
>  g++ -Wall -O2 -I../port -c cpl_odbc.cpp  -fPIC -DPIC -o .libs/cpl_odbc.o
> cpl_odbc.cpp: In member function 'int CPLODBCStatement::CollectResultsInfo()':
> cpl_odbc.cpp:424: error: cannot convert 'SQLUINTEGER*' to 'SQLULEN*' for 
> argume
> nt '7' to 'SQLRETURN SQLDescribeCol(void*, SQLUSMALLINT, SQLCHAR*, 
> SQLSMALLINT,
>  SQLSMALLINT*, SQLSMALLINT*, SQLULEN*, SQLSMALLINT*, SQLSMALLINT*)'
> cpl_odbc.cpp: In member function 'int CPLODBCStatement::Fetch(int, int)':
> cpl_odbc.cpp:638: error: cannot convert 'SQLINTEGER*' to 'SQLLEN*' for 
> argument
>  '6' to 'SQLRETURN SQLGetData(void*, SQLUSMALLINT, SQLSMALLINT, void*, SQLLEN,
> SQLLEN*)'
> [...]

> See full buildd log at:
> http://buildd.debian.org/fetch.php?&pkg=gdal&ver=1.3.1-4&arch=amd64&stamp=1143533668&file=log&as=raw

This bug is release-critical because it affects all 64-bit architectures,
and there are previous binaries in the archive for alpha and ia64.

The problem is that gdal has code to support 64-bit ODBC, but assumes that
SQLLEN will be a #define -- which with UnixODBC, it isn't.  The only
reliable test for the presence of SQLLEN is therefore a configure test; but
for Debian's purposes, the attached mini-patch should be sufficient.

Thanks,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
[EMAIL PROTECTED]                                   http://www.debian.org/
diff -u gdal-1.3.1/debian/changelog gdal-1.3.1/debian/changelog
--- gdal-1.3.1/debian/changelog
+++ gdal-1.3.1/debian/changelog
@@ -1,3 +1,12 @@
+gdal (1.3.1-4.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Fix build failures on 64-bit archs due to incorrect assumption that
+    SQLLEN will be a #define.  Instead, check for ODBCVER >= 0x0351,
+    which is about the closest we can get.  Closes: #360389.
+
+ -- Steve Langasek <[EMAIL PROTECTED]>  Sat,  8 Apr 2006 05:18:46 -0700
+
 gdal (1.3.1-4) unstable; urgency=low
 
   [ Paul Wise ]
only in patch2:
unchanged:
--- gdal-1.3.1.orig/port/cpl_odbc.h
+++ gdal-1.3.1/port/cpl_odbc.h
@@ -95,7 +95,7 @@
 class CPLODBCStatement;
 
 
-#ifdef SQLULEN
+#if defined(ODBCVER) && (ODBCVER >= 0x0351)
 /* ODBC types to support 64 bit compilation */
 #  define _SQLULEN SQLULEN
 #  define _SQLLEN  SQLLEN

Attachment: signature.asc
Description: Digital signature

Reply via email to