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>


Reply via email to