delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2013/08/01/10:02:55

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; q=dns; s=
default; b=MaOKXcQf1R0/SOaWvPdXzWMG3Ab1dCpdzJggR1Ku15GT+lCAPqsgs
AgxxLPcmWpjb1WBNupEvfvbz4pOnSIXxJ380KppRH1tHXCG2SQtBekZKIj66i0l+
J1m/RcCshqCc6m60eGYXOimkNJh5EB1dN3xcZVjMOtCEXXyq+RAFeY=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; s=default;
bh=IFKBVjGhyaTBFvkFZpjOGBHsGuk=; b=gWSm3BARJdsPdmEV1JrPtrVdSdI4
06FWr9gCRVd3Qbz9eALC7GaTdFUxOo58q76r+zG1eXLtCBkHxwzV8DxD9KeDPiwK
cR0YNFbhzYRpYo0Ql44K5MmmvOfxSG/h1nla9n78Odfv3bF3W/TbIcxEtJFN03Jn
jQEdwIJbqQ2+KvY=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Spam-SWARE-Status: No, score=0.3 required=5.0 tests=AWL,BAYES_50,RDNS_NONE autolearn=no version=3.3.1
Date: Thu, 1 Aug 2013 16:02:28 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: building Perl module DBD-ODBC-4.3 under 64-bit cygwin
Message-ID: <20130801140228.GQ4166@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <3BA6644C396CE44F83F988D688C72A73015956B7EE AT NL0230MBX08N1 DOT DIR DOT slb DOT com>
MIME-Version: 1.0
In-Reply-To: <3BA6644C396CE44F83F988D688C72A73015956B7EE@NL0230MBX08N1.DIR.slb.com>
User-Agent: Mutt/1.5.21 (2010-09-15)

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

HTH,
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019