[rabbitmq-discuss] Building a recent rabbitmq-c with 0-8 protocol

Pieter de Zwart pdezwart at rubiconproject.com
Tue Mar 1 17:51:45 GMT 2011

So, I am a mercurial n00b. IS there any chance you can point me to two URLs,
one for the rabbitmq-c repo, one for the rabbitmq-codegen repo, that I can
use to generate an 0-8 client library, so that I can then upgrade to 2.3.1.
The combination of:
// librabbitmq-0.1-amqp_0_8 tag
$ hg clone http://hg.rabbitmq.com/rabbitmq-c/rev/ce1eaceaee94
// rabbitmq_v1_7_2
$ hg clone http://hg.rabbitmq.com/rabbitmq-codegen/rev/c7c5876a05bb

Yields what seems to be a 0-9-1 client, since I used the steps below to try
to compile it, and had to move the 0-9-1 json spec out of the way.

Thanks for you help.

On 2/28/11 2:26 PM, "David Wragg" <david at rabbitmq.com> wrote:

> Hi Pieter,
> Pieter de Zwart <pdezwart at rubiconproject.com> writes:
>> I sincerely hope that this is stupid question with an easy answer. I am
>> trying to build a somewhat recent version of the rabbitmq-c library to use
>> with the PHP extension, but that uses the 0-8 protocol since our production
>> broker is still 1.7.2 (working on upgrading that, but that¹s a separate
>> discussion.)
>> To do so, I edited the configure file to point to the amqp-rabbitmq-0.8.json
>> codegen spec, changed the Makefile to not build tools, examples and tests
>> (those broke,) and tried to un it. According to my server however, its still
>> trying to use 0-9-1 (Expected 0x000A000A method frame on channel 0, got
>> frame type 65)
>> Should this have worked? Am I maybe just installing this wrong? I cleaned
>> out all librabbitmq.so files and symlinks, so I doubt its the problem, but I
>> am looking for a sanity check here.
> There is no intention for this to work.  There are AMQP
> version-dependent areas outside of the generated code.  You can see the
> complete changes that were involved in the switch of the C client to
> 0-9-1 at <http://hg.rabbitmq.com/rabbitmq-c/rev/168205522459>.
> With that said, it's probably not that difficult to revert the changes.
> If you don't care about the changes outside of librabbitmq/, and you
> discard the changes to code that wasn't generated back then but is now,
> it looks to me like there are only a couple of changes relevant (to
> librabbitmq/amqp_socket.c and librabbitmq/codegen.py).
> Perhaps we should be gratified that people are still running the 1.7.2
> broker in production.  But I'd strongly recommend you upgrade at the
> earliest opportunity, both for the many enhancements and for the bug
> fixes.  You do know that old 0-8 clients can still talk to the latest
> versions of the broker, so you don't have to upgrade your whole AMQP 0-8
> infrastructure at once?
> David

More information about the rabbitmq-discuss mailing list