unixODBC 2.2.14 defines SQLLEN and SQLULEN using the compiler typedef declaration instead of preprocessor #define macro definition. This breaks the preprocessor checks in this include file.cpp, causing the source to fall back to older types instead, leading to compile time errors like this: db.cpp:1636: error: cannot convert ‘SQLINTEGER*’ to ‘SQLLEN*’ for argument ‘6’ to ‘SQLRETURN SQLGetData(void*, SQLUSMALLINT, SQLSMALLINT, void*, SQLLEN, SQLLEN*)’ ... dbtable.cpp:592: error: cannot convert ‘SQLUINTEGER*’ to ‘SQLULEN*’ for argument ‘4’ to ‘SQLRETURN SQLExtendedFetch(void*, SQLUSMALLINT, SQLLEN, SQLULEN*, SQLUSMALLINT*)’ ... This change hard-wires the new names, breaking compatibility with older unixODBC versions (don't know what version number ranges) in favour of support for newer releases like 2.2.14. References: http://bugs.gentoo.org/310923 2010-03-23 Martin von Gagern Index: wxPython-src-2.6.4.0/include/wx/db.h =================================================================== --- wxPython-src-2.6.4.0.orig/include/wx/db.h +++ wxPython-src-2.6.4.0/include/wx/db.h @@ -134,15 +134,6 @@ enum enumDummy {enumDum1}; #endif #endif -#ifndef _WIN64 -#ifndef SQLLEN -#define SQLLEN SQLINTEGER -#endif -#ifndef SQLULEN -#define SQLULEN SQLUINTEGER -#endif -#endif - const int wxDB_PATH_MAX = 254; extern WXDLLIMPEXP_DATA_ODBC(wxChar const *) SQL_LOG_FILENAME;