Skip to content

[C++][Flight] Misleading CMake errors #26279

@asfimport

Description

@asfimport

When building Arrow, one can get errors such as the following

-- Build output: Change Dir: /home/antoine/arrow/dev/cpp/build-test/src/arrow/flight/try_compile/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/ninja cmTC_cfc86 && [1/2] Building CXX object CMakeFiles/cmTC_cfc86.dir/check_tls_opts_132.cc.o
FAILED: CMakeFiles/cmTC_cfc86.dir/check_tls_opts_132.cc.o 
/usr/bin/g++-9  -I/home/antoine/arrow/dev/cpp/thirdparty/flatbuffers/include -I/home/antoine/arrow/dev/cpp/build-test/jemalloc_ep-prefix/src -I/home/antoine/arrow/dev/cpp/build-test/mimalloc_ep/src/mimalloc_ep/lib/mimalloc-1.6/include -I/home/antoine/arrow/dev/cpp/thirdparty/hadoop/include -I/home/antoine/arrow/dev/cpp/build-test/src -I/home/antoine/arrow/dev/cpp/src -I/home/antoine/arrow/dev/cpp/src/generated -isystem /home/antoine/miniconda3/envs/pyarrow/include -Wno-noexcept-type  -fdiagnostics-color=always -fuse-ld=gold -ggdb -O0  -Wall -Wno-conversion -Wno-deprecated-declarations -Wno-sign-conversion -Wno-unused-variable  -fno-semantic-interposition -march=haswell -mavx2  -D_GLIBCXX_USE_CXX11_ABI=1 -D_GLIBCXX_USE_CXX11_ABI=1 -fno-omit-frame-pointer  -fPIE -std=c++11 -o CMakeFiles/cmTC_cfc86.dir/check_tls_opts_132.cc.o -c /home/antoine/arrow/dev/cpp/src/arrow/flight/try_compile/check_tls_opts_132.cc
/home/antoine/arrow/dev/cpp/src/arrow/flight/try_compile/check_tls_opts_132.cc:28:31: error: 'TlsCredentialsOptions' in namespace 'grpc::experimental' does not name a type; did you mean 'AltsCredentialsOptions'?
   28 |     const grpc::experimental::TlsCredentialsOptions* options) {
      |                               ^~~~~~~~~~~~~~~~~~~~~
      |                               AltsCredentialsOptions
/home/antoine/arrow/dev/cpp/src/arrow/flight/try_compile/check_tls_opts_132.cc: In function 'grpc_tls_server_verification_option check(const int*)':
/home/antoine/arrow/dev/cpp/src/arrow/flight/try_compile/check_tls_opts_132.cc:29:61: error: request for member 'server_verification_option' in '* options', which is of non-class type 'const int'
   29 |   grpc_tls_server_verification_option server_opt = options->server_verification_option();
      |                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.

There are two problems:

  1. this is displayed as an error, but it's not an actual error from the user's point of view (Arrow builds fine nevertheless)
  2. this is displayed each time when building, even if nothing needs rebuilding

Reporter: Antoine Pitrou / @pitrou
Assignee: David Li / @lidavidm

PRs and other links:

Note: This issue was originally created as ARROW-10286. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions