Project

General

Profile

Actions

Bug #1292

closed

1.8 compile time error with mingw gcc 4.3

Added by rogerdpack (Roger Pack) over 15 years ago. Updated over 13 years ago.

Status:
Closed
Assignee:
-
Target version:
ruby -v:
1.8.6p287
[ruby-core:22894]

Description

=begin
I get this compiling 1.8.6p287

gcc -I. -I../.. -I../../../ruby_1_8 -I../../../ruby_1_8/ext/socket -DHAVE_SOCKADDR_STORAGE -DHAVE_INET_NTOA -DHAVE_GETSERVBYPORT -Dsocklen_t=int -DHAVE_WSACLEANUP -DHAVE_GETHOSTNAME -I. -g -O2 -c ../../../ruby_1_8/ext/socket/socket.c
In file included from ../../../ruby_1_8/win32/win32.h:30,
from ../../../ruby_1_8/defines.h:183,
from ../../../ruby_1_8/ruby.h:37,
from ../../../ruby_1_8/ext/socket/socket.c:13:
c:\dev\rubyi_43\sandbox\mingw\bin../lib/gcc/mingw32/4.3.3/../../../../include/ws2tcpip.h:272: error: two or more data types in declaration specifiers
make[1]: *** [socket.o] Error 1

surrounding the offending line [272] with an
#ifndef socklen_t
typedef int socklen_t;
#endif
seems to fix it.
Thanks!
=end

Actions #1

Updated by nobu (Nobuyoshi Nakada) over 15 years ago

=begin
Hi,

At Sun, 15 Mar 2009 12:23:38 +0900,
Roger Pack wrote in [ruby-core:22894]:

gcc -I. -I../.. -I../../../ruby_1_8 -I../../../ruby_1_8/ext/socket -DHAVE_SOCKADDR_STORAGE -DHAVE_INET_NTOA -DHAVE_GETSERVBYPORT -Dsocklen_t=int -DHAVE_WSACLEANUP -DHAVE_GETHOSTNAME -I. -g -O2 -c ../../../ruby_1_8/ext/socket/socket.c
In file included from ../../../ruby_1_8/win32/win32.h:30,
from ../../../ruby_1_8/defines.h:183,
from ../../../ruby_1_8/ruby.h:37,
from ../../../ruby_1_8/ext/socket/socket.c:13:
c:\dev\rubyi_43\sandbox\mingw\bin../lib/gcc/mingw32/4.3.3/../../../../include/ws2tcpip.h:272: error: two or more data types in declaration specifiers
make[1]: *** [socket.o] Error 1

surrounding the offending line [272] with an
#ifndef socklen_t
typedef int socklen_t;
#endif
seems to fix it.

Seems extconf.rb failed to detect socklen_t. Could you show
the mkmf.log?

--
Nobu Nakada

=end

Actions #2

Updated by nobu (Nobuyoshi Nakada) over 15 years ago

=begin
Hi,

At Sun, 15 Mar 2009 13:46:42 +0900,
Roger Pack wrote in [ruby-core:22898]:

have_type: checking for socklen_t... -------------------- no

/* begin */
1: #include <windows.h>
2: #include <winsock.h>

Testing with winsock 1, RbConfig::CONFIG["COMMON_HEADERS"]
should be "windows.h winsock.h", but

At Sun, 15 Mar 2009 12:23:38 +0900,
Roger Pack wrote in [ruby-core:22894]:

gcc -I. -I../.. -I../../../ruby_1_8 -I../../../ruby_1_8/ext/socket -DHAVE_SOCKADDR_STORAGE -DHAVE_INET_NTOA -DHAVE_GETSERVBYPORT -Dsocklen_t=int -DHAVE_WSACLEANUP -DHAVE_GETHOSTNAME -I. -g -O2 -c ../../../ruby_1_8/ext/socket/socket.c
In file included from ../../../ruby_1_8/win32/win32.h:30,
from ../../../ruby_1_8/defines.h:183,
from ../../../ruby_1_8/ruby.h:37,
from ../../../ruby_1_8/ext/socket/socket.c:13:
c:\dev\rubyi_43\sandbox\mingw\bin../lib/gcc/mingw32/4.3.3/../../../../include/ws2tcpip.h:272: error: two or more data types in declaration specifiers

Compiling with winsock 2.

How did you run configure.bat?

--
Nobu Nakada

=end

Actions #3

Updated by nobu (Nobuyoshi Nakada) over 15 years ago

  • Category set to build
  • Status changed from Open to Assigned

=begin

=end

Actions #4

Updated by nobu (Nobuyoshi Nakada) over 15 years ago

  • Status changed from Assigned to Feedback

=begin

=end

Actions #5

Updated by nobu (Nobuyoshi Nakada) over 15 years ago

=begin
Hi,

At Mon, 16 Mar 2009 20:10:26 +0900,
Roger Pack wrote in [ruby-core:22915]:

This was using ./configure with MSYS. It worked fine with GCC 3.4 so
that's why I mention it. If interested you can recreate it by running
rake in the gcc43 branch of
http://github.com/rogerdpack/rubyinstaller/tree/master

I'm running msys gcc-4.3.0 in these days, but haven't seen that
problem. Does it occur if you run configure without rake?

--
Nobu Nakada

=end

Actions #6

Updated by rogerdpack (Roger Pack) over 15 years ago

=begin
this seems to not be a bug anymore. Thanks for the input.
-=r
=end

Actions #7

Updated by marcandre (Marc-Andre Lafortune) about 15 years ago

  • Status changed from Feedback to Closed

=begin

=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0