[C++][Flight] Symbol lookup error in tests with conda-forge g++
- 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
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