You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@parquet.apache.org by "Antoine Pitrou (JIRA)" <ji...@apache.org> on 2018/10/09 18:17:00 UTC

[jira] [Commented] (PARQUET-1420) [C++] Thrift-generated symbols not exported in DLL

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

Antoine Pitrou commented on PARQUET-1420:
-----------------------------------------

I've started looking into this. Two main pain points seem to stick out:

* {{schema-test.cc}} invokes many Thrift-generated APIs, e.g. for creating schema elements
* {{file-deserialize-test.cc}} seems to test implementation details (PageHeader and DataPageHeader serialization)

> [C++] Thrift-generated symbols not exported in DLL
> --------------------------------------------------
>
>                 Key: PARQUET-1420
>                 URL: https://issues.apache.org/jira/browse/PARQUET-1420
>             Project: Parquet
>          Issue Type: Bug
>          Components: parquet-cpp
>            Reporter: Antoine Pitrou
>            Priority: Major
>              Labels: windows
>
> Thirft-generated symbols don't have any {{PARQUET_EXPORT}}-like annotation, so they are not reachable from the Parquet DLL. In turn this makes it impossible to link Parquet unit tests with the Parquet DLL (instead of the Parquet static lib). I'm not sure it can impact other applications.
> Example linking error:
> {code}
> column_writer-test.cc.obj : error LNK2019: unresolved external symbol "public: v
> irtual unsigned int __cdecl parquet::format::Statistics::read(class apache::thri
> ft::protocol::TProtocol *)" (?read@Statistics@format@parquet@@UEAAIPEAVTProtocol
> @protocol@thrift@apache@@@Z) referenced in function "[thunk]:public: virtual uns
> igned int __cdecl parquet::format::Statistics::read`vtordisp{4294967292,0}' (cla
> ss apache::thrift::protocol::TProtocol *)" (?read@Statistics@format@parquet@@$4P
> PPPPPPM@A@EAAIPEAVTProtocol@protocol@thrift@apache@@@Z)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)