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: List-Subscribe: List-Archive: List-Post: List-Help: , 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 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 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline 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