You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@parquet.apache.org by rahul challapalli <ch...@gmail.com> on 2017/11/08 21:28:15 UTC

parquet-cpp build issues on a mac

Hi,

I am using stable-1.3.x branch and I did a build using the below options

cmake . -DPARQUET_BUILD_TESTS=Off -DCMAKE_BUILD_TYPE=Release
make

However when using the libparquet.so, I get the below error

Undefined symbols for architecture x86_64:
  "_TLSv1_1_method", referenced from:

apache::thrift::transport::SSLContext::SSLContext(apache::thrift::transport::SSLProtocol
const&) in TSSLSocket.cpp.o
  "_TLSv1_2_method", referenced from:

apache::thrift::transport::SSLContext::SSLContext(apache::thrift::transport::SSLProtocol
const&) in TSSLSocket.cpp.o
ld: symbol(s) not found for architecture x86_64

However after installing thrift manually. I ran with the below cmake
options and everything worked.

cmake . -DPARQUET_BUILD_TESTS=Off -DCMAKE_BUILD_TYPE=Release
-DTHRIFT_INCLUDE_DIR=/usr/local/Cellar/thrift/0.10.0/include
-DTHRIFT_STATIC_LIB=/usr/local/Cellar/thrift/0.10.0/lib/libthrift.a
-DTHRIFT_COMPILER=/usr/local/bin/thrift
make

Any thoughts on why the first scenario failed?

- Rahul

Re: parquet-cpp build issues on a mac

Posted by rahul challapalli <ch...@gmail.com>.
Thank you Uwe and Wes. I will give it a try over the weekend and will let
you know

On Thu, Nov 9, 2017 at 11:24 AM, Wes McKinney <we...@gmail.com> wrote:

> I have found this can also be remedied by indicating to use the
> Homebrew OpenSSL when invoking cmake:
>
> e.g. (I think this is right)
>
> OPENSSL_ROOT_DIR=/usr/local/opt/openssl/ cmake $CMAKE_ARGS
>
> On Thu, Nov 9, 2017 at 9:30 AM, Uwe L. Korn <uw...@xhochy.com> wrote:
> > Hello Rahul,
> >
> > it could be that Thrift in the first version was built against an old
> > OpenSSL version that does not support the newer TLS methods which are
> > required by Thrift 0.10. It is hard to guess what went wrong without
> > seeing the build log. If you are able to provide us with it, we can help
> > you understand the problem better.
> >
> > I guess you now have installed thrift using homebrew now?
> >
> > Uwe
> >
> > On Wed, Nov 8, 2017, at 10:28 PM, rahul challapalli wrote:
> >> Hi,
> >>
> >> I am using stable-1.3.x branch and I did a build using the below options
> >>
> >> cmake . -DPARQUET_BUILD_TESTS=Off -DCMAKE_BUILD_TYPE=Release
> >> make
> >>
> >> However when using the libparquet.so, I get the below error
> >>
> >> Undefined symbols for architecture x86_64:
> >>   "_TLSv1_1_method", referenced from:
> >>
> >> apache::thrift::transport::SSLContext::SSLContext(apache:
> :thrift::transport::SSLProtocol
> >> const&) in TSSLSocket.cpp.o
> >>   "_TLSv1_2_method", referenced from:
> >>
> >> apache::thrift::transport::SSLContext::SSLContext(apache:
> :thrift::transport::SSLProtocol
> >> const&) in TSSLSocket.cpp.o
> >> ld: symbol(s) not found for architecture x86_64
> >>
> >> However after installing thrift manually. I ran with the below cmake
> >> options and everything worked.
> >>
> >> cmake . -DPARQUET_BUILD_TESTS=Off -DCMAKE_BUILD_TYPE=Release
> >> -DTHRIFT_INCLUDE_DIR=/usr/local/Cellar/thrift/0.10.0/include
> >> -DTHRIFT_STATIC_LIB=/usr/local/Cellar/thrift/0.10.0/lib/libthrift.a
> >> -DTHRIFT_COMPILER=/usr/local/bin/thrift
> >> make
> >>
> >> Any thoughts on why the first scenario failed?
> >>
> >> - Rahul
>

Re: parquet-cpp build issues on a mac

Posted by Wes McKinney <we...@gmail.com>.
I have found this can also be remedied by indicating to use the
Homebrew OpenSSL when invoking cmake:

e.g. (I think this is right)

OPENSSL_ROOT_DIR=/usr/local/opt/openssl/ cmake $CMAKE_ARGS

On Thu, Nov 9, 2017 at 9:30 AM, Uwe L. Korn <uw...@xhochy.com> wrote:
> Hello Rahul,
>
> it could be that Thrift in the first version was built against an old
> OpenSSL version that does not support the newer TLS methods which are
> required by Thrift 0.10. It is hard to guess what went wrong without
> seeing the build log. If you are able to provide us with it, we can help
> you understand the problem better.
>
> I guess you now have installed thrift using homebrew now?
>
> Uwe
>
> On Wed, Nov 8, 2017, at 10:28 PM, rahul challapalli wrote:
>> Hi,
>>
>> I am using stable-1.3.x branch and I did a build using the below options
>>
>> cmake . -DPARQUET_BUILD_TESTS=Off -DCMAKE_BUILD_TYPE=Release
>> make
>>
>> However when using the libparquet.so, I get the below error
>>
>> Undefined symbols for architecture x86_64:
>>   "_TLSv1_1_method", referenced from:
>>
>> apache::thrift::transport::SSLContext::SSLContext(apache::thrift::transport::SSLProtocol
>> const&) in TSSLSocket.cpp.o
>>   "_TLSv1_2_method", referenced from:
>>
>> apache::thrift::transport::SSLContext::SSLContext(apache::thrift::transport::SSLProtocol
>> const&) in TSSLSocket.cpp.o
>> ld: symbol(s) not found for architecture x86_64
>>
>> However after installing thrift manually. I ran with the below cmake
>> options and everything worked.
>>
>> cmake . -DPARQUET_BUILD_TESTS=Off -DCMAKE_BUILD_TYPE=Release
>> -DTHRIFT_INCLUDE_DIR=/usr/local/Cellar/thrift/0.10.0/include
>> -DTHRIFT_STATIC_LIB=/usr/local/Cellar/thrift/0.10.0/lib/libthrift.a
>> -DTHRIFT_COMPILER=/usr/local/bin/thrift
>> make
>>
>> Any thoughts on why the first scenario failed?
>>
>> - Rahul

Re: parquet-cpp build issues on a mac

Posted by "Uwe L. Korn" <uw...@xhochy.com>.
Hello Rahul, 

it could be that Thrift in the first version was built against an old
OpenSSL version that does not support the newer TLS methods which are
required by Thrift 0.10. It is hard to guess what went wrong without
seeing the build log. If you are able to provide us with it, we can help
you understand the problem better. 

I guess you now have installed thrift using homebrew now?

Uwe

On Wed, Nov 8, 2017, at 10:28 PM, rahul challapalli wrote:
> Hi,
> 
> I am using stable-1.3.x branch and I did a build using the below options
> 
> cmake . -DPARQUET_BUILD_TESTS=Off -DCMAKE_BUILD_TYPE=Release
> make
> 
> However when using the libparquet.so, I get the below error
> 
> Undefined symbols for architecture x86_64:
>   "_TLSv1_1_method", referenced from:
> 
> apache::thrift::transport::SSLContext::SSLContext(apache::thrift::transport::SSLProtocol
> const&) in TSSLSocket.cpp.o
>   "_TLSv1_2_method", referenced from:
> 
> apache::thrift::transport::SSLContext::SSLContext(apache::thrift::transport::SSLProtocol
> const&) in TSSLSocket.cpp.o
> ld: symbol(s) not found for architecture x86_64
> 
> However after installing thrift manually. I ran with the below cmake
> options and everything worked.
> 
> cmake . -DPARQUET_BUILD_TESTS=Off -DCMAKE_BUILD_TYPE=Release
> -DTHRIFT_INCLUDE_DIR=/usr/local/Cellar/thrift/0.10.0/include
> -DTHRIFT_STATIC_LIB=/usr/local/Cellar/thrift/0.10.0/lib/libthrift.a
> -DTHRIFT_COMPILER=/usr/local/bin/thrift
> make
> 
> Any thoughts on why the first scenario failed?
> 
> - Rahul