title: Apache Thrift not installing on Mac
body: <p>Mac OSX 10.10.5 (Yosemite) here. I am trying to find a tool that will:</p>
  
  <ol>
  <li>Given a definition/config file, generate a native C network/socket client (library); and</li>
  <li>Given a definition/config file, generate a Java network/socket server</li>
  </ol>
  
  <p>In reality both artifacts will be ran (likely) on the same machine, but one <em>has</em> to be native C and the other <em>has</em> to be Java.</p>
  
  <p>I <em>believe</em> <a href="https://thrift.apache.org" rel="nofollow">Thrift</a> is a tool that can do this job, but if it's not, or if there are other/better/easier tools to use, then I'm certainly open to other recommendations.</p>
  
  <hr>
  
  <p>Right off the bat, I sort of expected Thrift to come in some kind of distribution, ready to be ran as-is. Instead, according to the <a href="https://thrift.apache.org/docs/BuildingFromSource" rel="nofollow">documentation</a> it looks like you have to build it yourself. Enter the pain.</p>
  
  <p>I downloaded the tarball (<code>v0.9.3</code>) and then navigated to the unpacked directory. Then I run <code>./configure</code> (as those docs state to do), which produces an enormous amount of output, most suspiciously:</p>
  
  <pre><code>Building C++ Library ......... : yes
  Building C (GLib) Library .... : no     &lt;--- heh?
  Building Java Library ........ : no     &lt;--- heh?
  Building C# Library .......... : no
  Building Python Library ...... : yes
  Building Ruby Library ........ : no
  Building Haxe Library ........ : no
  Building Haskell Library ..... : no
  Building Perl Library ........ : yes
  Building PHP Library ......... : yes
  Building Erlang Library ...... : no
  Building Go Library .......... : no
  Building D Library ........... : no
  Building NodeJS Library ...... : yes
  Building Lua Library ......... : no
  </code></pre>
  
  <p>Now I don't know <em>anything</em> about Thrift, but to me, that looks like it's <strong>not</strong> building out "libraries"/"generators"/etc. for C or Java, the two lanaguages I'm specifically interested in!!! <strong>(1) Any ideas as to why?</strong></p>
  
  <p>Next, the instructions state to run <code>make</code>, which produces indecipherable compiler errors:</p>
  
  <pre><code>...blah blah blah lots of compiler output, blah blah blah...
  
  src/thrift/transport/TSSLSocket.cpp:147:24: error: use of undeclared identifier 'TLSv1_1_method'; did you mean 'TLSv1_method'?
      ctx_ = SSL_CTX_new(TLSv1_1_method());
                         ^~~~~~~~~~~~~~
                         TLSv1_method
  
  src/thrift/transport/TSSLSocket.cpp:149:24: error: use of undeclared identifier 'TLSv1_2_method'; did you mean 'TLSv1_method'?
      ctx_ = SSL_CTX_new(TLSv1_2_method());
                         ^~~~~~~~~~~~~~
                         TLSv1_method
  
  74 warnings and 2 errors generated.
  make[4]: *** [src/thrift/transport/TSSLSocket.lo] Error 1
  make[3]: *** [all-recursive] Error 1
  make[2]: *** [all-recursive] Error 1
  make[1]: *** [all-recursive] Error 1
  make: *** [all] Error 2
  </code></pre>
  
  <p><strong>(2) Any idea how to troubleshoot here?!?</strong></p>
  
  <p>This seems like I'm going 3 sides around the barn. In other areas of the documentation, I need to build several other libraries (Boost and <code>libevent</code>), and I ran into all sorts of headaches with the instructions for those builds as well (e.g. the version of <code>libevent</code> didn't like the version of Bison that I had that ships by default with Mac, etc.).</p>
  
  <p>Does Thrift come as a fully-ready-to-go app that I can just run on Mac OS? Why do I need to go through the motions of all this building?</p>
  
  <p>So most importantly: <strong>(3) If it exists, where can I find a ready-to-run Thrift Mac executable? And if it does not exist, are there other tools out there that are easier to install/run?</strong></p>