<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
<channel>
<title>Fun with ones and zeros - amqp</title>
<description><![CDATA[Barry's notes on computer software and hardware]]></description>
<link>/blog/tags/amqp</link>
<lastBuildDate>Sat, 13 Jun 2026 04:41:17 -0700</lastBuildDate>
<item>
<title>amqplib 1.0.0</title>
<link>/blog/entries/amqplib-100</link>
<pubDate>Mon, 08 Aug 2011 11:24:00 -0700</pubDate>
<author>bp@barryp.org (Barry Pederson)</author>
<description><![CDATA[<p>I attended OSCON for the first time this year, and to celebrate I thought I'd wrap up the Python amqplib library a
bit and consider it more-or-less finished for what it is (a simple blocking 0-8 client), and call it 1.0.0   You can
find it on the in <a href="https://pypi.org/project/amqplib/1.0.0/">PyPi</a> and <a href="https://code.google.com/archive/p/py-amqplib">Google Project Hosting</a></p>
<p>It's definitely a worthwhile upgrade in that it's significantly faster than amqplib  0.6.1, and has a fair number of
bug fixes.  Also noteworthy are support for Python 3.x (via 2to3) and IPv6</p>]]></description>
</item>
<item>
<title>amqplib and bpgsql on Google Code</title>
<link>/blog/entries/amqplib-and-bpgsql-google-code</link>
<pubDate>Mon, 17 Aug 2009 13:44:00 -0700</pubDate>
<author>bp@barryp.org (Barry Pederson)</author>
<description><![CDATA[<p>I've created Google Code projects for my <a href="https://code.google.com/archive/p/py-amqplib">amqplib</a> and <a href="https://code.google.com/archive/p/py-bpgsql">bpgsql</a> packages, to take advantage of their nice infrastructure including issue tracking.</p>]]></description>
</item>
<item>
<title>amqplib 0.6</title>
<link>/blog/entries/amqplib-06</link>
<pubDate>Mon, 19 Jan 2009 09:31:00 -0800</pubDate>
<author>bp@barryp.org (Barry Pederson)</author>
<description><![CDATA[<p>Wrapped up another release of <a href="/software/py-amqplib">py-amqplib</a>, version 0.6 - which features a major reorganization of the
codebase to make the library more maintainable and lays the groundwork for an optional thread-assisted mode that
allows for flow control and timeouts (being worked on in a <a href="http://hg.barryp.org/py-amqplib-devel/">development repository</a>). </p>]]></description>
</item>
<item>
<title>Building additional PHP modules on OSX</title>
<link>/blog/entries/building-additional-php-modules-osx</link>
<pubDate>Mon, 08 Dec 2008 20:09:00 -0800</pubDate>
<author>bp@barryp.org (Barry Pederson)</author>
<description><![CDATA[<body><p>Normally I try to avoid dealing with PHP if at all possible, but there is now a PHP port of <a href="/software/py-amqplib">py-amqplib</a>
called <a href="http://code.google.com/p/php-amqplib/">php-amqplib</a>, and I offered to help out with it a bit.  Maybe partially out of guilt for having
written the mess of Python code it was based on :)</p>
<p>I thought it would be handy to work on it using my MacBook.  OS X 10.5 (Leopard) has PHP 5.2.6 built in standard, but unfortunately it doesn't have the <code>bcmath</code> extension included, which php-amqplib makes use of.  Turns out building the module wasn't that difficult.  <a href="http://kenior.com/macintosh/adding-gd-library-for-mac-os-x-leopard">This page</a> got me going - although building <code>bcmath</code> was much simpler.  Since I had the Apple Developer Tools for 10.5 installed, it was just a matter of ...</p>
<ul>
<li>mkdir /SourceCache</li>
<li>cd /SourceCache</li>
<li>fetch <a href="https://www.php.net/get/php-5.2.6.tar.gz/from/this/mirror">https://www.php.net/get/php-5.2.6.tar.gz/from/this/mirror</a></li>
<li>tar xzvf php-5.2.6.tar.gz</li>
<li>cd php-5.2.6/ext/bcmath</li>
<li>phpize</li>
<li>./configure</li>
<li>make</li>
<li>sudo make install</li>
<li>cd /etc</li>
<li>cp php.ini.default php.ini</li>
</ul>
<p>And then edit /etc/php.ini to make these two changes:</p>
<div class="source"><pre><span></span><span class="gd">--- php.ini.default     2008-07-15 14:19:15.000000000 -0500</span>
<span class="gi">+++ php.ini     2008-12-08 21:44:52.000000000 -0600</span>
<span class="gu">@@ -483,7 +483,7 @@</span>
 user_dir =

 ; Directory in which the loadable extensions (modules) reside.
<span class="gd">-extension_dir = "./"</span>
<span class="gi">+;extension_dir = "./"</span>

 ; Whether or not to enable the dl() function.  The dl() function does NOT work
 ; properly in multithreaded servers, such as IIS or Zeus, and is automatically
<span class="gu">@@ -595,6 +595,7 @@</span>
 ; needs to go here.  Specify the location of the extension with the
 ; extension_dir directive above.

<span class="gi">+extension=bcmath.so</span>

 ; Windows Extensions
 ; Note that ODBC support is built in, so no dll is needed for it.
</pre></div>
<p>After that, I was able to run the <code>amqp_test.php</code> file for the first time, sending a message and receiving it in py-amqplib's <code>demo/demo_receive.py</code></p></body>]]></description>
</item>
<item>
<title>RabbitMQ FreeBSD port </title>
<link>/blog/entries/rabbitmq-freebsd-port</link>
<pubDate>Mon, 01 Sep 2008 17:29:06 -0700</pubDate>
<author>bp@barryp.org (Barry Pederson)</author>
<description><![CDATA[
<p>I was happy to see a FreeBSD port added for RabbitMQ, <a href="http://www.freshports.org/net/rabbitmq">net/rabbitmq</a>,  although I found a couple problems with it:  it doesn't start automatically when your machine or jail boots, and when building the <a href="http://hopper.squarespace.com/blog/2008/1/12/introducing-the-erlang-amqp-client.html">rabbitmq-erlang-client</a>, it errors out with:
</p>
<pre><code>src/amqp_channel.erl:28: can't find include lib &quot;rabbitmq_server/include/rabbit.hrl&quot;
src/amqp_channel.erl:29: can't find include lib &quot;rabbitmq_server/include/rabbit_framing.hrl&quot;
</code></pre><p>I worked on the port a bit, and submitted a bug report and patch, <a href="http://www.freebsd.org/cgi/query-pr.cgi?pr=127033">ports/127033</a>, that fixes these problems.
</p>


]]></description>
</item>
</channel>
</rss>