[ 
https://issues.apache.org/jira/browse/ARROW-16520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17534819#comment-17534819
 ] 

Antoine Pitrou commented on ARROW-16520:
----------------------------------------

Ok, I can tell now that this fails with libprotobuf 3.20, but works with 3.19.

I see the following change in the {{InternalMetadata}} destructor:
* 3.19:
{code:c++}
  ~InternalMetadata() {
    if (HasMessageOwnedArenaTag()) {
      delete arena();
    }
  }
{code}

* 3.20:
{code:c++}
#if defined(NDEBUG) || defined(_MSC_VER)
  ~InternalMetadata() {
    if (HasMessageOwnedArenaTag()) {
      delete reinterpret_cast<Arena*>(ptr_ - kMessageOwnedArenaTagMask);
    }
  }
#else
  ~InternalMetadata();
#endif
{code}

> [C++][Flight] Symbol lookup error in tests with conda-forge g++
> ---------------------------------------------------------------
>
>                 Key: ARROW-16520
>                 URL: https://issues.apache.org/jira/browse/ARROW-16520
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++, FlightRPC
>            Reporter: Antoine Pitrou
>            Priority: Major
>
> When building Arrow with conda-forge {{g\+\+}}, I get the following errors in 
> the Flight tests. This did not seem to happen with {{clang\+\+}}.
> {code}
> 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
> {code}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to