Sadly, no. I managed a work around on the SSL issue, but came up short
further on over libtorrent (see below). It seems obvious that the
instructions for Mac are incomplete, and I wonder how long it's been since
Thrift was built on a Mac.
For my SSL workaround, I simply commented out two lines and replaced them.
You can see what I did in the snippet below
from lib/cpp/src/thrift/transport/TSSLSocket.cpp, beginning at line #152
else if(protocol == TLSv1_1)
{
// ctx_ = SSL_CTX_new(TLSv1_1_method());
ctx_ = SSL_CTX_new(TLSv1_method());
}
else if(protocol == TLSv1_2)
{
// ctx_ = SSL_CTX_new(TLSv1_2_method());
ctx_ = SSL_CTX_new(TLSv1_method());
}
The Jira item THRIFT-2515 (https://issues.apache.org/jira/browse/THRIFT-2515)
tells me that I shouldn't have this issue with 0.9.2--it's closed. Howeverf
references OpenSSL 1.0.1g. I have OpenSSL 1.0.2a from MacPorts. Maybe that
is the problem, but I've not looked into all my other system dependencies
on OpenSSL.
After getting past the SSL error, my next problem is libtorrent:
...
g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src/thrift
-I/usr/local/include -I../../../lib/cpp/src -Wall -Wextra -pedantic -g -O2
-std=c++11 -MT processor/ProcessorTest.o -MD -MP -MF $depbase.Tpo -c -o
processor/ProcessorTest.o processor/ProcessorTest.cpp &&\
mv -f $depbase.Tpo $depbase.Po
*processor/ProcessorTest.cpp:26:10: **fatal error: **'tr1/functional' file
not found*
#include <tr1/functional>
Thinking I might need to install libtorrent, I tried that with MacPorts and
hit the same error. Some investigation showed me THRIFT-2229. Again this is
marked as closed/fixed with 0.9.2, but I'm still seeing it. There is a
MacPorts issue on this same 'file not found' (
https://trac.macports.org/ticket/41417). The current version of libtorrent
from MacPorts is 0.13.2. In the ticket discussion I find "There is a newer
stable version 0.13.4 but it does not address this issue. Allegedly the
current master branch from upstream does (
https://github.com/rakshasa/libtorrent/issues/47#issuecomment-46342450),
but there is no unstable version 0.13.5 yet." So I guess we wait for that
or for someone on the Thrift team to help us.
I've also looked at Google's gRPC (http://www.grpc.io/). I was able to play
with the Java-only and go-only examples. However I was unable to get gRPC’s
C/C++ to build on the Mac. This made it impossible to test cross language
functionality (I don’t know enough Go to modify its demo). A gRPC developer
looked into the Mac issue for me, but there is no work (yet>) on a solution
(https://github.com/grpc/grpc/issues/1007).
I'd be happy to try Thrift on Linux, but given our substantial Mac user
base, we *must* have a Mac solution or stick with our hand-rolled stuff.
On Fri, Mar 20, 2015 at 12:46 PM, ChrisK <[email protected]> wrote:
> Did you ever find a resolution to this problem? I am getting the same
> error when installing on the Mac. ):
>
>
>
--
"Hell hath no limits, nor is circumscrib'd In one self-place; but where we
are is hell, And where hell is, there must we ever be" --Christopher
Marlowe, *Doctor Faustus* (v. 121-24)