This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: building Perl module DBD-ODBC-4.3 under 64-bit cygwin


On Aug  1 16:02, Corinna Vinschen wrote:
> On Aug  1 12:57, Simon Barnes wrote:
> > I'm having difficulty with this and would appreciate any suggestions.   It does build under 32-bit cygwin.
> 
> That's a good place to point to my extended "how to port to 64 bit" FAQ,
> starting here:
> 
>   http://cygwin.com/faq/faq.html#faq.programming.64bitporting
> 
> Please read this first.
> 
> Basically, what you see here...
> 
> > /usr/local/include/sqltypes.h:261:33: error: conflicting types for 'ULONG'
> >  typedef unsigned long           ULONG;
> >                                  ^
> > In file included from /usr/include/w32api/windows.h:69:0,
> >                  from dbdodbc.h:6,
> >                  from ODBC.h:8,
> >                  from ODBC.xs:1:
> > /usr/include/w32api/windef.h:25:27: note: previous declaration of 'ULONG' was here
> >  typedef unsigned __LONG32 ULONG;
> >                            ^
> > Makefile:390: recipe for target `ODBC.o' failed
> 
> ...is a typical type conflict.  ULONG is a Windows type defined as
> unsigned long in the Win32 API.  The Win32 data model is LLP64, so
> unsigned long is 4 bytes.  However, Cygwin is LP64, so unsigned long is
> 8 bytes.  Therefore the `typedef unsigned long ULONG;' is wrong for 64
> bit.  Either drop the definition entirely, or redefine it matching the
> data model:
> 
>   #ifdef __LP64__
>   typedef unsigned int ULONG;
>   #else
>   typedef unsigned long ULONG;
>   #endif

Btw., that's what the __LONG32 macro in the mingw-w64 headers is for...


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]