libretro / libretro/RetroArch

MSYS2-based Windows build is currently broken

Open
#10,230 24 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Version/Commit

master @ a8a2294f276c7912dc399bd7d4d8611e14b26a17

Environment information
  • OS: Windows 10 Pro
  • Compiler: gcc 9.1.0
Error output:
In file included from gfx/common/d3d10_common.c:20:
gfx/common/d3d10_common.h:1121:7: error: expected declaration specifiers or ‘...’ before ‘!’ token
 1121 |       !(sizeof(d3d10_uniform_t) & 0xF), "sizeof(d3d10_uniform_t) must be a multiple of 16");
      |       ^
gfx/common/d3d10_common.h:1121:41: error: expected declaration specifiers or ‘...’ before string constant
 1121 |       !(sizeof(d3d10_uniform_t) & 0xF), "sizeof(d3d10_uniform_t) must be a multiple of 16");
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from gfx/drivers_font/d3d10_font.c:25:
/src/RetroArch/gfx/common/d3d10_common.h:1121:7: error: expected declaration specifiers or ‘...’ before ‘!’ token
 1121 |       !(sizeof(d3d10_uniform_t) & 0xF), "sizeof(d3d10_uniform_t) must be a multiple of 16");
      |       ^
/src/RetroArch/gfx/common/d3d10_common.h:1121:41: error: expected declaration specifiers or ‘...’ before string constant
 1121 |       !(sizeof(d3d10_uniform_t) & 0xF), "sizeof(d3d10_uniform_t) must be a multiple of 16");
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:206: obj-unix/debug/gfx/common/d3d10_common.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Makefile:206: obj-unix/debug/gfx/drivers_font/d3d10_font.o] Error 1
In file included from gfx/drivers/d3d10.c:39:
gfx/drivers/../common/d3d10_common.h:1121:7: error: expected declaration specifiers or ‘...’ before ‘!’ token
 1121 |       !(sizeof(d3d10_uniform_t) & 0xF), "sizeof(d3d10_uniform_t) must be a multiple of 16");
      |       ^
gfx/drivers/../common/d3d10_common.h:1121:41: error: expected declaration specifiers or ‘...’ before string constant
 1121 |       !(sizeof(d3d10_uniform_t) & 0xF), "sizeof(d3d10_uniform_t) must be a multiple of 16");
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from gfx/drivers_display/gfx_display_d3d10.c:29:
/src/RetroArch/gfx/common/d3d10_common.h:1121:7: error: expected declaration specifiers or ‘...’ before ‘!’ token
 1121 |       !(sizeof(d3d10_uniform_t) & 0xF), "sizeof(d3d10_uniform_t) must be a multiple of 16");
      |       ^
/src/RetroArch/gfx/common/d3d10_common.h:1121:41: error: expected declaration specifiers or ‘...’ before string constant
 1121 |       !(sizeof(d3d10_uniform_t) & 0xF), "sizeof(d3d10_uniform_t) must be a multiple of 16");
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:206: obj-unix/debug/gfx/drivers_display/gfx_display_d3d10.o] Error 1
make: *** [Makefile:206: obj-unix/debug/gfx/drivers/d3d10.o] Error 1
In file included from gfx/drivers/../common/d3d11_common.h:24,
                 from gfx/drivers/d3d11.c:52:
gfx/include/dxsdk/d3d11.h:12275:13: error: unknown type name ‘_Inout_opt_bytecount_’
12275 |             _Inout_opt_bytecount_(IVSize)  void *pIV);
      |             ^~~~~~~~~~~~~~~~~~~~~
gfx/include/dxsdk/d3d11.h:12294:13: error: unknown type name ‘_Inout_opt_bytecount_’
12294 |             _Inout_opt_bytecount_(IVSize)  void *pIV);
      |             ^~~~~~~~~~~~~~~~~~~~~
In file included from gfx/common/d3d11_common.h:24,
                 from gfx/common/d3d11_common.c:20:
gfx/include/dxsdk/d3d11.h:12275:13: error: unknown type name ‘_Inout_opt_bytecount_’
12275 |             _Inout_opt_bytecount_(IVSize)  void *pIV);
      |             ^~~~~~~~~~~~~~~~~~~~~
gfx/include/dxsdk/d3d11.h:12294:13: error: unknown type name ‘_Inout_opt_bytecount_’
12294 |             _Inout_opt_bytecount_(IVSize)  void *pIV);
      |             ^~~~~~~~~~~~~~~~~~~~~
In file included from /src/RetroArch/gfx/common/d3d11_common.h:24,
                 from gfx/drivers_font/d3d11_font.c:24:
gfx/include/dxsdk/d3d11.h:12275:13: error: unknown type name ‘_Inout_opt_bytecount_’
12275 |             _Inout_opt_bytecount_(IVSize)  void *pIV);
      |             ^~~~~~~~~~~~~~~~~~~~~
gfx/include/dxsdk/d3d11.h:12294:13: error: unknown type name ‘_Inout_opt_bytecount_’
12294 |             _Inout_opt_bytecount_(IVSize)  void *pIV);
      |             ^~~~~~~~~~~~~~~~~~~~~
In file included from gfx/drivers/d3d11.c:52:
gfx/drivers/../common/d3d11_common.h: In function ‘D3D11EncryptionBlt’:
gfx/drivers/../common/d3d11_common.h:1646:27: error: ‘struct ID3D11VideoContextVtbl’ has no member named ‘EncryptionBlt’; did you mean ‘GetEncryptionBltKey’?
 1646 |    video_context->lpVtbl->EncryptionBlt(
      |                           ^~~~~~~~~~~~~
      |                           GetEncryptionBltKey
gfx/drivers/../common/d3d11_common.h: In function ‘D3D11DecryptionBlt’:
gfx/drivers/../common/d3d11_common.h:1660:27: error: ‘struct ID3D11VideoContextVtbl’ has no member named ‘DecryptionBlt’; did you mean ‘GetEncryptionBltKey’?
 1660 |    video_context->lpVtbl->DecryptionBlt(
      |                           ^~~~~~~~~~~~~
      |                           GetEncryptionBltKey
In file included from gfx/drivers/d3d11.c:52:
gfx/drivers/../common/d3d11_common.h: At top level:
gfx/drivers/../common/d3d11_common.h:2488:7: error: expected declaration specifiers or ‘...’ before ‘(’ token
 2488 |       (!(sizeof(d3d11_uniform_t) & 0xF)), "sizeof(d3d11_uniform_t) must be a multiple of 16");
      |       ^
gfx/drivers/../common/d3d11_common.h:2488:43: error: expected declaration specifiers or ‘...’ before string constant
 2488 |       (!(sizeof(d3d11_uniform_t) & 0xF)), "sizeof(d3d11_uniform_t) must be a multiple of 16");
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from gfx/common/d3d11_common.c:20:
gfx/common/d3d11_common.h: In function ‘D3D11EncryptionBlt’:
gfx/common/d3d11_common.h:1646:27: error: ‘struct ID3D11VideoContextVtbl’ has no member named ‘EncryptionBlt’; did you mean ‘GetEncryptionBltKey’?
 1646 |    video_context->lpVtbl->EncryptionBlt(
      |                           ^~~~~~~~~~~~~
      |                           GetEncryptionBltKey
gfx/common/d3d11_common.h: In function ‘D3D11DecryptionBlt’:
gfx/common/d3d11_common.h:1660:27: error: ‘struct ID3D11VideoContextVtbl’ has no member named ‘DecryptionBlt’; did you mean ‘GetEncryptionBltKey’?
 1660 |    video_context->lpVtbl->DecryptionBlt(
      |                           ^~~~~~~~~~~~~
      |                           GetEncryptionBltKey
make: *** [Makefile:206: obj-unix/debug/gfx/drivers/d3d11.o] Error 1
In file included from gfx/common/d3d11_common.c:20:
gfx/common/d3d11_common.h: At top level:
In file included from /src/RetroArch/gfx/common/d3d11_common.h:24,
                 from gfx/drivers_display/gfx_display_d3d11.c:28:
gfx/include/dxsdk/d3d11.h:12275:13: error: unknown type name ‘_Inout_opt_bytecount_’
12275 |             _Inout_opt_bytecount_(IVSize)  void *pIV);
      |             ^~~~~~~~~~~~~~~~~~~~~
gfx/common/d3d11_common.h:2488:7: error: expected declaration specifiers or ‘...’ before ‘(’ token
 2488 |       (!(sizeof(d3d11_uniform_t) & 0xF)), "sizeof(d3d11_uniform_t) must be a multiple of 16");
      |       ^
gfx/common/d3d11_common.h:2488:43: error: expected declaration specifiers or ‘...’ before string constant
 2488 |       (!(sizeof(d3d11_uniform_t) & 0xF)), "sizeof(d3d11_uniform_t) must be a multiple of 16");
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from gfx/drivers_font/d3d11_font.c:24:
/src/RetroArch/gfx/common/d3d11_common.h: In function ‘D3D11EncryptionBlt’:
/src/RetroArch/gfx/common/d3d11_common.h:1646:27: error: ‘struct ID3D11VideoContextVtbl’ has no member named ‘EncryptionBlt’; did you mean ‘GetEncryptionBltKey’?
 1646 |    video_context->lpVtbl->EncryptionBlt(
      |                           ^~~~~~~~~~~~~
      |                           GetEncryptionBltKey
/src/RetroArch/gfx/common/d3d11_common.h: In function ‘D3D11DecryptionBlt’:
/src/RetroArch/gfx/common/d3d11_common.h:1660:27: error: ‘struct ID3D11VideoContextVtbl’ has no member named ‘DecryptionBlt’; did you mean ‘GetEncryptionBltKey’?
 1660 |    video_context->lpVtbl->DecryptionBlt(
      |                           ^~~~~~~~~~~~~
      |                           GetEncryptionBltKey
make: *** [Makefile:206: obj-unix/debug/gfx/common/d3d11_common.o] Error 1
gfx/include/dxsdk/d3d11.h:12294:13: error: unknown type name ‘_Inout_opt_bytecount_’
12294 |             _Inout_opt_bytecount_(IVSize)  void *pIV);
      |             ^~~~~~~~~~~~~~~~~~~~~
In file included from gfx/drivers_font/d3d11_font.c:24:
/src/RetroArch/gfx/common/d3d11_common.h: At top level:
/src/RetroArch/gfx/common/d3d11_common.h:2488:7: error: expected declaration specifiers or ‘...’ before ‘(’ token
 2488 |       (!(sizeof(d3d11_uniform_t) & 0xF)), "sizeof(d3d11_uniform_t) must be a multiple of 16");
      |       ^
/src/RetroArch/gfx/common/d3d11_common.h:2488:43: error: expected declaration specifiers or ‘...’ before string constant
 2488 |       (!(sizeof(d3d11_uniform_t) & 0xF)), "sizeof(d3d11_uniform_t) must be a multiple of 16");
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:206: obj-unix/debug/gfx/drivers_font/d3d11_font.o] Error 1
In file included from gfx/drivers_display/gfx_display_d3d11.c:28:
/src/RetroArch/gfx/common/d3d11_common.h: In function ‘D3D11EncryptionBlt’:
/src/RetroArch/gfx/common/d3d11_common.h:1646:27: error: ‘struct ID3D11VideoContextVtbl’ has no member named ‘EncryptionBlt’; did you mean ‘GetEncryptionBltKey’?
 1646 |    video_context->lpVtbl->EncryptionBlt(
      |                           ^~~~~~~~~~~~~
      |                           GetEncryptionBltKey
/src/RetroArch/gfx/common/d3d11_common.h: In function ‘D3D11DecryptionBlt’:
/src/RetroArch/gfx/common/d3d11_common.h:1660:27: error: ‘struct ID3D11VideoContextVtbl’ has no member named ‘DecryptionBlt’; did you mean ‘GetEncryptionBltKey’?
 1660 |    video_context->lpVtbl->DecryptionBlt(
      |                           ^~~~~~~~~~~~~
      |                           GetEncryptionBltKey
In file included from gfx/drivers_display/gfx_display_d3d11.c:28:
/src/RetroArch/gfx/common/d3d11_common.h: At top level:
/src/RetroArch/gfx/common/d3d11_common.h:2488:7: error: expected declaration specifiers or ‘...’ before ‘(’ token
 2488 |       (!(sizeof(d3d11_uniform_t) & 0xF)), "sizeof(d3d11_uniform_t) must be a multiple of 16");
      |       ^
/src/RetroArch/gfx/common/d3d11_common.h:2488:43: error: expected declaration specifiers or ‘...’ before string constant
 2488 |       (!(sizeof(d3d11_uniform_t) & 0xF)), "sizeof(d3d11_uniform_t) must be a multiple of 16");
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:206: obj-unix/debug/gfx/drivers_display/gfx_display_d3d11.o] Error 1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the MSYS2 Windows build at commit a8a2294f276c7912dc399bd7d4d8611e14b26a17 and inspect the Makefile:206 failure. Start with gfx/common/d3d10_common.h, gfx/common/d3d11_common.h, and gfx/include/dxsdk/d3d11.h, where the reported errors occur. Done means the affected D3D10 and D3D11 targets build successfully with GCC 9.1.0.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
build-system, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.