apache / apache/arrow

[C++][Flight] Symbol lookup error in tests with conda-forge g++

Open
#20,240 23 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 20h
Merged PRs (30d)
94

Description

When building Arrow with conda-forge `g\+\+`, I get the following errors in the Flight tests. This did not seem to happen with `clang\+\+`.
```Java

29/69 Test #51: arrow-flight-internals-test ..............***Failed 0.18 sec
Running arrow-flight-internals-test, redirecting output into /home/antoine/arrow/dev/cpp/build-test/build/test-logs/arrow-flight-internals-test.txt (attempt 1/1)
/home/antoine/arrow/dev/cpp/build-test/debug/arrow-flight-internals-test: symbol lookup error: /home/antoine/miniconda3/envs/pyarrow/lib/libarrow_flight.so.900: undefined symbol: google::protobuf::internal::InternalMetadata::~InternalMetadata()
~/arrow/dev/cpp/build-test/src/arrow/flight

Start 55: arrow-ipc-json-simple-test
30/69 Test #52: arrow-flight-test ........................***Failed 0.16 sec
Running arrow-flight-test, redirecting output into /home/antoine/arrow/dev/cpp/build-test/build/test-logs/arrow-flight-test.txt (attempt 1/1)
/home/antoine/arrow/dev/cpp/build-test/debug/arrow-flight-test: symbol lookup error: /home/antoine/miniconda3/envs/pyarrow/lib/libarrow_flight.so.900: undefined symbol: google::protobuf::internal::InternalMetadata::~InternalMetadata()
~/arrow/dev/cpp/build-test/src/arrow/flight

Start 56: arrow-ipc-read-write-test
31/69 Test #53: arrow-flight-sql-test ....................***Failed 0.17 sec
Running arrow-flight-sql-test, redirecting output into /home/antoine/arrow/dev/cpp/build-test/build/test-logs/arrow-flight-sql-test.txt (attempt 1/1)
/home/antoine/arrow/dev/cpp/build-test/debug/arrow-flight-sql-test: symbol lookup error: /home/antoine/miniconda3/envs/pyarrow/lib/libarrow_flight.so.900: undefined symbol: google::protobuf::internal::InternalMetadata::~InternalMetadata()
~/arrow/dev/cpp/build-test/src/arrow/flight/sql

```

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

**Note**: *This issue was originally created as [ARROW-16520](https://issues.apache.org/jira/browse/ARROW-16520). 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 failure with conda-forge g++ and the listed arrow-flight-internals-test, arrow-flight-test, and arrow-flight-sql-test cases; inspect their test logs and the undefined protobuf symbol. Trace the Flight library's dependency and linking configuration, then confirm the tests pass without the symbol lookup error.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.