You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by bu...@apache.org on 2014/05/15 07:38:14 UTC

svn commit: r908872 - in /websites/staging/thrift/trunk/content: ./ docs/install/centos.html

Author: buildbot
Date: Thu May 15 05:38:13 2014
New Revision: 908872

Log:
Staging update by buildbot for thrift

Modified:
    websites/staging/thrift/trunk/content/   (props changed)
    websites/staging/thrift/trunk/content/docs/install/centos.html

Propchange: websites/staging/thrift/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu May 15 05:38:13 2014
@@ -1 +1 @@
-1594706
+1594768

Modified: websites/staging/thrift/trunk/content/docs/install/centos.html
==============================================================================
--- websites/staging/thrift/trunk/content/docs/install/centos.html (original)
+++ websites/staging/thrift/trunk/content/docs/install/centos.html Thu May 15 05:38:13 2014
@@ -98,6 +98,46 @@
 
 
 <p>This will build the compiler and install it on the path: /usr/local/bin/thrift</p>
+<h3 id="adding-support-for-the-c-library">Adding Support for the C++ Library</h3>
+<p>The Apache Thrift IDL Compiler can generate code for any supported language. Each language also requires an Apache Thrift support library. These support libraries must be compiled in compiled languages. To build the Apache Thrift C++ library, the following support libraries must be installed: Boost, OpenSSL and ZLib. Optionally support for libevent can be installed to enable the nonblocking server library. To install the required base packages:</p>
+<div class="codehilite"><pre><span class="n">sudo</span> <span class="n">yum</span> <span class="n">install</span> <span class="n">libevent</span><span class="o">-</span><span class="n">devel</span> <span class="n">zlib</span><span class="o">-</span><span class="n">devel</span> <span class="n">openssl</span><span class="o">-</span><span class="n">devel</span>
+</pre></div>
+
+
+<p>Centos currently supplies 4.4.7 as the highest version of gcc. RHEL/Centos provides a Software Collection facility (scl) which allows newer versions of development tools to be installed alongside the older versions required by the system. The following steps install g++ 4.7 and related tools alongside the base g++ 4.4.7:</p>
+<div class="codehilite"><pre><span class="n">sudo</span> <span class="n">yum</span> <span class="n">install</span> <span class="n">wget</span>
+<span class="n">sudo</span> <span class="n">wget</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">people</span><span class="p">.</span><span class="n">centos</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">tru</span><span class="o">/</span><span class="n">devtools</span><span class="o">-</span>1<span class="p">.</span>1<span class="o">/</span><span class="n">devtools</span><span class="o">-</span>1<span class="p">.</span>1<span class="p">.</span><span class="n">repo</span> <span class="o">-</span><span class="n">P</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">yum</span><span class="p">.</span><span class="n">repos</span><span class="p">.</span><span class="n">d</span>
+<span class="n">sudo</span> <span class="n">sh</span> <span class="o">-</span><span class="n">c</span> <span class="s">&#39;echo &quot;enabled=1&quot; &gt;&gt; /etc/yum.repos.d/devtools-1.1.repo&#39;</span>
+<span class="n">sudo</span> <span class="n">yum</span> <span class="n">install</span> <span class="n">devtoolset</span><span class="o">-</span>1<span class="p">.</span>1
+<span class="n">scl</span> <span class="n">enable</span> <span class="n">devtoolset</span><span class="o">-</span>1<span class="p">.</span>1 <span class="n">bash</span>
+</pre></div>
+
+
+<p>The final step runs the Software Collection tool (scl) and launches a bash shell configured to use the updated tools. You will need to build the Apache Thrift C++ library and user programs from within the scl shell. For more information: https://access.redhat.com/site/documentation/en-US/Red_Hat_Developer_Toolset/1/html-single/Software_Collections_Guide/</p>
+<p>The Apache Thrift C++ library also requires a newer version of Boost than that supplied by the standard Centos repos. Here is an example installing the latest version of Boost (be sure to install Boost within the scl shell configured for g++ 4.7):</p>
+<div class="codehilite"><pre><span class="n">wget</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">sourceforge</span><span class="p">.</span><span class="n">net</span><span class="o">/</span><span class="n">projects</span><span class="o">/</span><span class="n">boost</span><span class="o">/</span><span class="n">files</span><span class="o">/</span><span class="n">boost</span><span class="o">/</span>1<span class="p">.</span>55<span class="p">.</span>0<span class="o">/</span><span class="n">boost_1_55_0</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span>
+<span class="n">tar</span> <span class="o">-</span><span class="n">xzvf</span> <span class="n">boost_1_55_0</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span>
+<span class="n">cd</span> <span class="n">boost_1_55_0</span>
+<span class="o">./</span><span class="n">bootstrap</span><span class="p">.</span><span class="n">sh</span>
+<span class="o">./</span><span class="n">b2</span> <span class="n">install</span>
+</pre></div>
+
+
+<p>With the dependencies installed you can build and install the Apache Thrift C++ libraries within the scl shell:</p>
+<div class="codehilite"><pre><span class="n">cd</span> <span class="o">~/</span><span class="n">thrift</span>
+<span class="o">./</span><span class="n">bootstrap</span><span class="p">.</span><span class="n">sh</span>
+<span class="o">./</span><span class="n">configure</span> <span class="o">--</span><span class="n">with</span><span class="o">-</span><span class="n">lua</span><span class="p">=</span><span class="n">no</span>
+<span class="n">make</span>
+<span class="n">make</span> <span class="n">install</span>
+</pre></div>
+
+
+<p>The Apache Thrift C++ libraries will be installed in /usr/local/lib. Once install Apache Thrift RPC applications written in C++ can be compiled and linked with commands something like this:</p>
+<div class="codehilite"><pre><span class="n">thrift</span> <span class="o">-</span><span class="n">gen</span> <span class="n">cpp</span> <span class="n">myService</span><span class="p">.</span><span class="n">thrift</span>
+<span class="n">g</span><span class="o">++</span>  <span class="o">-</span><span class="n">Wall</span>  <span class="o">-</span><span class="n">std</span><span class="p">=</span><span class="n">c</span><span class="o">++</span>11  <span class="n">server</span><span class="p">.</span><span class="n">cpp</span>  <span class="n">gen</span><span class="o">-</span><span class="n">cpp</span><span class="o">/</span><span class="n">myService</span><span class="p">.</span><span class="n">cpp</span>  <span class="o">-</span><span class="n">lthrift</span>  <span class="o">-</span><span class="n">Wl</span><span class="p">,</span><span class="o">-</span><span class="n">rpath</span><span class="p">,</span><span class="o">/</span><span class="n">usr</span><span class="o">/</span><span class="n">local</span><span class="o">/</span><span class="n">lib</span>  <span class="o">-</span><span class="n">oserver</span>
+</pre></div>
+
+
 <h4 id="additional-reading">Additional reading</h4>
 <p>For more information on the requirements see: <a href="/docs/install">Apache Thrift Requirements</a></p>
 <p>For more information on building and installing Thrift see: <a href="/docs/BuildingFromSource">Building from source</a></p>