Skip to content

[C++][CI] MinGW C++ Windows jobs are failing to build Gflags related #47440

@raulcd

Description

@raulcd

Describe the bug, including details regarding any error messages, version, and platform.

The C++ Windows MinGW jobs have started failing with a gflags issue:

 FAILED: [code=1] src/arrow/flight/CMakeFiles/flight-test-server.dir/test_server.cc.obj 
D:\a\_temp\msys64\mingw64\bin\ccache.exe D:\a\_temp\msys64\mingw64\bin\c++.exe -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -DGRPC_ENABLE_ASYNC -DGRPC_NAMESPACE_FOR_TLS_CREDENTIALS_OPTIONS=grpc::experimental -DGRPC_USE_CERTIFICATE_VERIFIER -DGRPC_USE_TLS_CHANNEL_CREDENTIALS_OPTIONS -DGTEST_LINKED_AS_SHARED_LIBRARY=1 -DPROTOBUF_USE_DLLS -DUSE_IMPORT_EXPORT -D_CRT_SECURE_NO_WARNINGS -ID:/a/arrow/arrow/build/cpp/src -ID:/a/arrow/arrow/cpp/src -ID:/a/arrow/arrow/cpp/src/generated -isystem D:/a/arrow/arrow/cpp/thirdparty/flatbuffers/include -Wredundant-move -Wno-noexcept-type -Wno-self-move  -fdiagnostics-color=always  -Wa,-mbig-obj -Wall -Wno-conversion -Wno-sign-conversion -Wdate-time -Wimplicit-fallthrough -Wunused-result -fno-semantic-interposition -mxsave -msse4.2  -O3 -DNDEBUG -O2 -ftree-vectorize  -std=c++17 -MD -MT src/arrow/flight/CMakeFiles/flight-test-server.dir/test_server.cc.obj -MF src\arrow\flight\CMakeFiles\flight-test-server.dir\test_server.cc.obj.d -o src/arrow/flight/CMakeFiles/flight-test-server.dir/test_server.cc.obj -c D:/a/arrow/arrow/cpp/src/arrow/flight/test_server.cc
In file included from D:/a/_temp/msys64/mingw64/include/gflags/gflags.h:84,
                 from D:/a/arrow/arrow/cpp/src/arrow/flight/test_server.cc:26:
D:/a/_temp/msys64/mingw64/include/gflags/gflags_declare.h:59:23: error: operator '&&' has no left operand
   59 | #  if GFLAGS_IS_A_DLL && defined(_MSC_VER)
      |                       ^~
D:/a/_temp/msys64/mingw64/include/gflags/gflags_declare.h:70:23: error: operator '&&' has no left operand
   70 | #  if GFLAGS_IS_A_DLL && defined(_MSC_VER)
      |                       ^~
D:/a/_temp/msys64/mingw64/include/gflags/gflags.h:89:23: error: operator '&&' has no left operand
   89 | #  if GFLAGS_IS_A_DLL && defined(_MSC_VER)
      |                       ^~

This is happening both on PRs and main:

There was a new commit for the gflags MinGW package yesterday which potentially could be related:

The failing gflags:
mingw-w64-x86_64-gflags-2.2.2-6-any
successful gflags:
mingw-w64-x86_64-gflags-2.2.2-4-any

Component(s)

C++, Continuous Integration

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions