Project

General

Profile

Actions

Bug #20480

open

Complie failure for unable to configure NET_LUID using msys2 mingw64-gcc

Added by nekoyama32767 (Jinsong Yu) about 2 months ago. Updated about 2 months ago.

Status:
Open
Assignee:
-
Target version:
-
ruby -v:
ruby 3.4.0dev (2024-05-10T04:54:31Z master 2f915e729a) [x64-mingw32]
[ruby-core:117826]

Description

Master commit:2f915e729ac8c66f4009f4b28a57773923d7e7d1
NET_LUID is not successfully checked in win32 configure.

When try to compile in msys2 mingw64-gcc there will be a error message like follow.

win32/win32.c:4365:7: error: conflicting types for 'NET_LUID'; have 'struct <anonymous>'
 4365 |     } NET_LUID;
      |       ^~~~~~~~
In file included from D:/msys64/mingw64/include/iptypes.h:17,
                 from D:/msys64/mingw64/include/iphlpapi.h:17,
                 from ./include/ruby/win32.h:40,
                 from ./include/ruby/internal/dosish.h:38,
                 from ./include/ruby/defines.h:78,
                 from ./include/ruby/ruby.h:25,
                 from win32/win32.c:24:
D:/msys64/mingw64/include/ifdef.h:106:3: note: previous declaration of 'NET_LUID' with type 'NET_LUID'
  106 | } NET_LUID, *PNET_LUID;
      |   ^~~~~~~~

Mingw64-gcc has NET_LUID, when comment out line 4357-line 4367 in win32/win32.c in follow, compile will be successed.

#ifndef HAVE_TYPE_NET_LUID
    typedef struct {
        uint64_t Value;
        struct {
            uint64_t Reserved :24;
            uint64_t NetLuidIndex :24;
            uint64_t IfType :16;
        } Info;
    } NET_LUID;
#endif

mingw64-gcc version

gcc --version

gcc.exe (Rev4, Built by MSYS2 project) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Files

config.zip (68.4 KB) config.zip nekoyama32767 (Jinsong Yu), 05/10/2024 10:53 AM
Actions

Also available in: Atom PDF

Like0
Like0Like0