Subject: Re: Error making wxWigets 2.8.10 in Cygwin 1.7.5
From: Gavin <[email-masked]>
To: Frédéric Bron <[email-masked]>
Cc: [email-masked]
Date: Sun, 27 Jun 2010 22:40:16 -0500
List-Id: <cygwin.cygwin.com>

Sorry it's wxWigets 2.8.11 not 2.8.10

Resolved with simple change to match declaration of select() in
 /include/w32api/winsock.h
with that in
 /usr/include/sys/select.h
I hope I picked the right one!

Frédéric, thanks for the help setting flags, but that wasn't the (only) problem.
From the make log I had this, and I've marked the change I made in {{ }}
and added some new lines for clarity.

Sorry for not following standard syntax, I'm an old programmer just
getting into the modern style of how to do things cross platform.

In file included from ../../src/msw/utils.cpp:56:
/usr/lib/gcc/i686-pc-cygwin/4.3.4/../../../../include/w32api/winsock.h:479:
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*)'

{{ change winsock.h to match select.h; actual line is different, with
PASCAL and struct in it.

Log continues...}}

here ../../src/msw/utils.cpp:
In function `const wxChar* wxGetHomeDir(wxString*)':
../../src/msw/utils.cpp:407:
warning: `int cygwin_conv_to_full_win32_path(const char*, char*)' is deprecated
(declared at /usr/include/sys/cygwin.h:52)
../../src/msw/utils.cpp:407: warning:
`int cygwin_conv_to_full_win32_path(const char*, char*)' is deprecated
(declared at /usr/include/sys/cygwin.h:52)
make: *** [basedll_msw_utils.o] Error 1
----------------------------------------------------

I reran make and it completed this time:
 tail of log:

Creating library file:
/cygdrive/c/wxWidgets/buildMSWd/msw/lib/libwx_msw_richtet-2.8.dll.a
(if test -d utils/wxrc ; then cd utils/wxrc && make all ; fi)
make[1]: Entering directory `/cygdrive/c/wxWidgets/buildMSWd/msw/utils/wxrc'
/cygdrive/c/wxWidgets/buildMSWd/msw/bk-deps g++ -c -o wxrc_wxrc.o -D__WXMSW__
  -I../../../../utils/wxrc -DWXUSINGDLL -DwxUSE_GUI=0 -D_FILE_OFFSET_BITS=64 -D
LARGE_FILES -I/cygdrive/c/wxWidgets/buildMSWd/msw/lib/wx/include/msw-ansi-relea
e-2.8 -I../../../../include -Wall -Wundef -Wno-ctor-dtor-privacy -O2 -fno-stric
-aliasing ../../../../utils/wxrc/wxrc.cpp
g++ -o wxrc.exe wxrc_wxrc.o    -L/cygdrive/c/wxWidgets/buildMSWd/msw/lib    -lw
_base_xml-2.8  -lwx_base-2.8   -lwxzlib-2.8   -lwxexpat-2.8 -lrpcrt4 -loleaut32
-lole32 -luuid -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -lctl3d32 -la
vapi32 -lwsock32 -lgdi32 -lkernel32 -luser32  -lrpcrt4 -loleaut32 -lole32 -luui
 -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsoc
32 -lgdi32 -lkernel32 -luser32
make[1]: Leaving directory `/cygdrive/c/wxWidgets/buildMSWd/msw/utils/wxrc'

=============

If someone can verify my change and make the patch, anyone else trying
wxWidgets 2.8.11 with cygwin 1.7.5 can miss this gottcha. Maybe there
is a flag to change this error into a warning, but that's beyond me.

Gavin

2010/6/27 Frédéric Bron <[email-masked]>:
>> ../configure --with-msw --enable-debug
>
> to have a windows binary (independent of cygwin):
> CC=gcc-3 CXX=g++-3 CFLAGS="-mno-cygwin" CXXFLAGS="-mno-cygwin"
> LDFLAGS="-mno-cygwin" ./configure --with-msw ...
>
> to have a cygwin binary
> ./configure --with-gtk ...
>
> Frédéric

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