X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Thu, 14 Jan 2010 13:44:39 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: Build problems using wxWidgets-2.8.10 / gcc-4.3.4 / cygwin-1.7.1 : multiple definitions of function select() Message-ID: <20100114124439.GE14511@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <4B4F0ED7 DOT 10504 AT sbcglobal DOT net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4B4F0ED7.10504@sbcglobal.net> User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: 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 On Jan 14 12:32, Greg Chicares wrote: > On 2010-01-14 10:15Z, Schwerzmann Stephan wrote: > > > > /usr/lib/gcc/i686-pc-cygwin/4.3.4/../../../../include/w32api/winsock.h:4 > > 79: error: declaration of C function 'int select(int, _types_fd_set*, > > _types_fd_set*, _types_fd_set*, const timeval*)' conflicts with > > /usr/include/sys/select.h:31: error: previous declaration 'int > > select(int, _types_fd_set*, _types_fd_set*, _types_fd_set*, timeval*)' > > As to whether select() takes a const or non-const timeval* argument: > > http://msdn.microsoft.com/en-us/library/ms740141%28VS.85%29.aspx > msdn says it's const, so that's what include/w32api must do > > http://www.opengroup.org/onlinepubs/007908799/xsh/select.html > posix says it isn't const, so that's what /usr/include must do > > So you can't combine them. See also: > http://cygwin.com/ml/cygwin/2008-08/msg00133.html > | You're getting a bunch of errors because incluing winsock2.h causes lots > | of namespace clashes. And how could it not? It provides a different > | and incompatible set of definitions for the sockets API which is not > | compatible with the standard POSIX definitions in the Cygwin headers. > | Again: the problem is that you should not attempt to use the Winsock API > | from a Cygwin application. Yes. Don't mix winsock and Cygwin sockets unless you know *exactly* what you're doing. On the application level there's usually no reason at all to include winsock headers and to use winsock sockets instead of Cygwin sockets. If wxWidgets is doing that, the developers should be able to tell you why. If it's for instance, IPv6, that's available in Cygwin now as well. > > ./src/msw/utils.cpp:407: warning: 'int > > cygwin_conv_to_full_win32_path(const char*, char*)' is deprecated > > http://www.cygwin.com/ml/cygwin-cvs/2008-q1/msg00111.html > | (cygwin_conv_to_win32_path): Just call cygwin_conv_path with size set > | to MAX_PATH. > | (cygwin_conv_to_full_win32_path): Ditto. And http://cygwin.com/cygwin-api/func-cygwin-conv-path.html Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader 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