apache / apache/arrow

[C++] Linker error when building Flight tests

Open
#31,327 18 comments 0 reactions 0 assignees View on GitHub
Component: C++ Component: FlightRPC Type: bug
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 18h
Merged PRs (30d)
91

Description

When building the Flight unit tests, I get the following error:
```Java

[16/25] Linking CXX executable debug/flight-test-integration-server
FAILED: debug/flight-test-integration-server
[... snip long linker command line ...]
/usr/bin/ld: /home/antoine/miniconda3/envs/pyarrow/lib/libgrpc++.so.1.44.0: undefined reference to `std::__throw_bad_array_new_length()@GLIBCXX_3.4.29'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```

This is using a pre-built gRPC from conda-forge (`grpc-cpp 1.44.0 h3d78c48_1`).
Other possibly relevant options: `CMAKE_CXX_STANDARD=17`, `ARROW_BUILD_STATIC=OFF`.

**Reporter**: [Antoine Pitrou](https://issues.apache.org/jira/browse/ARROW-15897) / @pitrou

**Note**: *This issue was originally created as [ARROW-15897](https://issues.apache.org/jira/browse/ARROW-15897). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the Flight unit-test build and inspect the failing link step for debug/flight-test-integration-server, using the reported C++17, shared-build, and conda-forge gRPC settings. Compare the linker and dependency configuration around the undefined GLIBCXX symbol; done means the Flight tests link successfully with the reported setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
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.