<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>APIs - Cognizant Transmutation</title>
	<atom:link href="https://www.ibd.com/tag/apis/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.ibd.com</link>
	<description>Internet Bandwidth Development: Composting the Internet for over Two Decades</description>
	<lastBuildDate>Fri, 06 Mar 2009 00:50:59 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1</generator>

<image>
	<url>https://i0.wp.com/www.ibd.com/wp-content/uploads/2019/01/fullsizeoutput_7ae8.jpeg?fit=32%2C32&#038;ssl=1</url>
	<title>APIs - Cognizant Transmutation</title>
	<link>https://www.ibd.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/><site xmlns="com-wordpress:feed-additions:1">156814061</site>	<item>
		<title>Installing Apache Thrift on Ubuntu and Leopard</title>
		<link>https://www.ibd.com/howto/installing-apache-thrift-on-ubuntu-and-leopard/</link>
					<comments>https://www.ibd.com/howto/installing-apache-thrift-on-ubuntu-and-leopard/#comments</comments>
		
		<dc:creator><![CDATA[Robert J Berger]]></dc:creator>
		<pubDate>Fri, 06 Mar 2009 00:50:59 +0000</pubDate>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Scalable Deployment]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[APIs]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Thrift]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">http://blog2.ibd.com/?p=172</guid>

					<description><![CDATA[<p>The instructions for installing the Apache Thrift on the Wiki missed a few key things in terms of installing on Ubuntu (8.04 in my case) and Macintosh OS X Leopard (10.5.6). Gitting the latest source For instance they show you how to get the latest via SVN or a snapshop via wget. But the wget actually gets it from a&#8230;</p>
<p>The post <a href="https://www.ibd.com/howto/installing-apache-thrift-on-ubuntu-and-leopard/">Installing Apache Thrift on Ubuntu and Leopard</a> first appeared on <a href="https://www.ibd.com">Cognizant Transmutation</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>The instructions for installing the <a href="http://wiki.apache.org/thrift/ThriftInstallation">Apache Thrift on the Wiki</a> missed a few key things in terms of installing on Ubuntu (8.04 in my case) and Macintosh OS X Leopard (10.5.6).</p>
<h2>Gitting the latest source</h2>
<p>For instance they show you how to get the latest via SVN or a snapshop via wget. But the wget actually gets it from a git repository, but they don&#8217;t tell you how to directly git it! Which is:</p>
<pre>git clone git://git.thrift-rpc.org/thrift.git</pre>
<p>That will create a a source distribution of thrift in a directory called thrift.</p>
<p>The git repository is where the developers are really working according to the <a href="http://wiki.apache.org/thrift/GitRepository">Developers Wiki on the GitRepository</a>. There is also a <a href="http://github.com/dreiss/thrift">copy on github</a>.</p>
<h2>Requirements</h2>
<p>The relevant requirements as stated by the wiki are:</p>
<blockquote><p>GNU build tools: autoconf 2.59+ (2.60+ recommended), automake 1.9+, libtool 1.5.24+<br />
boost 1.34.0+<br />
g++ 3.3.5+<br />
pkgconfig (Use MacPorts for Mac OS X)<br />
lex and yacc (developed primarily with flex and bison)</p></blockquote>
<p>Well, for Ubuntu it wasn&#8217;t quite clear what was really required. The <a href="http://wiki.apache.org/thrift/GettingUbuntuPackages#preview">GettingUbuntuPackages wiki page</a> listed only a few of the required packages. <a href="http://lueb.be/2009/02/27/installing-apache-thrift-on-ubuntu-804/" target="_blank">Max Luebbe has a blog page</a> that has a more in depth list:</p>
<pre>apt-get install libboost-dev libevent-dev python-dev automake pkg-config libtool flex bison sun-java5-jdk</pre>
<p>We already had Sun Java6 installed and that worked fine, so I didn&#8217;t include sun-java5-jdk. But we didn&#8217;t have g++ installed, so also do:</p>
<pre>apt-get install g++</pre>
<p>Confusingly, the ./configure did not fail saying there was no g++ but failed by saying there was no boost. It took a while to figure out it was actually not finding boost because it could not compile the little configure test script that was used to detect if boost was installed or not!</p>
<p>So the actual apt-get used on our ubuntu 8.04 server was:</p>
<pre>sudo apt-get install g++ libboost-dev libevent-dev python-dev automake pkg-config libtool flex bison</pre>
<p>On the Mac you can use the MacPorts to install the required packages.. Max also had a good page on <a href="http://lueb.be/2009/02/23/installing-apache-thrift-on-mac-os-x-105-leopard/" target="_blank">Installing Apache Thrift on Mac OS X 10.5 Leopard</a> that doesn&#8217;t require MacPorts.</p>
<pre>sudo port selfupdate
sudo port install boost
sudo port install pkgconfig</pre>
<h2>The pkg.m4 workaround</h2>
<p>As noted in the <a href="http://wiki.apache.org/thrift/FAQ" target="_blank">Thrift Wiki FAQ</a>,the ./configure command may generate an error like:</p>
<pre>./configure: line 21183: syntax error near unexpected token `MONO,'
./configure: line 21183: `  PKG_CHECK_MODULES(MONO, mono &gt;= 1.2.6, have_mono=yes, have_mono=no)'</pre>
<p>This will happen if there is no pkg.m4 file in the aclocal directory of the thrift source tree. For the Macintosh, install pkgconfig via MacPorts and copy /opt/local/share/aclocal to aclocal (assuming you are in the thrift source distro):</p>
<pre>cp /opt/local/share/aclocal/pkg.m4 aclocal</pre>
<p>This is not necessary in ubuntu if you have installed pkgconfig there.</p>
<h2>Actual Build and Installation</h2>
<p>In the Thrift directory run:</p>
<pre>./bootstrap.sh</pre>
<p>on the Mac if boost was installed with MacPorts use the following (If you manually installed boost elsewhere use that path instead):</p>
<pre>./configure --with-boost=/opt/local</pre>
<p>on Ubunto you can just say&#8221;</p>
<pre>./configure</pre>
<p>On both Mac and Ubuntu:</p>
<pre>make
sudo make install</pre>
<p>If you want any of the bindings for different languages, cd into lib and there are directories for each language. Its not always clear what to do to build them. For the ruby one what I ended up doing was:</p>
<pre>cd lib/rb
sudo ruby setup.rb</pre>
<h2>Next step</h2>
<p>Figure out how to test and use Thrift!</p><p>The post <a href="https://www.ibd.com/howto/installing-apache-thrift-on-ubuntu-and-leopard/">Installing Apache Thrift on Ubuntu and Leopard</a> first appeared on <a href="https://www.ibd.com">Cognizant Transmutation</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.ibd.com/howto/installing-apache-thrift-on-ubuntu-and-leopard/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">172</post-id>	</item>
		<item>
		<title>QuarkRuby: Consume non rails-style REST APIs</title>
		<link>https://www.ibd.com/ruby-rails/quarkruby-consume-non-rails-style-rest-apis/</link>
		
		<dc:creator><![CDATA[Robert J Berger]]></dc:creator>
		<pubDate>Wed, 31 Dec 2008 01:09:41 +0000</pubDate>
				<category><![CDATA[Ruby / Rails]]></category>
		<category><![CDATA[APIs]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Ruby]]></category>
		<guid isPermaLink="false">http://blog2.ibd.com/?p=87</guid>

					<description><![CDATA[<p>It seems that most &#8220;RESTful&#8221; APIs in the wild are well, pretty wild. They don&#8217;t meet the strict requirements of the pure CRUD/REST of ActiveResource. The article in QuarkRuby:  Consume non rails-style REST APIs shows how to create a nice ruby wrapper around ActiveResource so you can adapt to any arbitrary REST / http interface on the Internet.</p>
<p>The post <a href="https://www.ibd.com/ruby-rails/quarkruby-consume-non-rails-style-rest-apis/">QuarkRuby: Consume non rails-style REST APIs</a> first appeared on <a href="https://www.ibd.com">Cognizant Transmutation</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>It seems that most &#8220;RESTful&#8221; APIs in the wild are well, pretty wild. They don&#8217;t meet the strict requirements of the pure CRUD/REST of ActiveResource.</p>
<p>The article in <a href="http://www.quarkruby.com">QuarkRuby</a>:  <a href="http://www.quarkruby.com/2008/3/11/consume-non-rails-style-rest-apis">Consume non rails-style REST APIs</a> shows how to create a nice ruby wrapper around ActiveResource so you can adapt to any arbitrary REST / http interface on the Internet.</p><p>The post <a href="https://www.ibd.com/ruby-rails/quarkruby-consume-non-rails-style-rest-apis/">QuarkRuby: Consume non rails-style REST APIs</a> first appeared on <a href="https://www.ibd.com">Cognizant Transmutation</a>.</p>]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">87</post-id>	</item>
	</channel>
</rss>
