[rabbitmq-discuss] rabbitmq erlang client

Ben Hood 0x6e6562 at gmail.com
Sat Nov 8 01:20:04 GMT 2008


Orion | Henry,

On Fri, Nov 7, 2008 at 7:09 AM, Orion Henry <orion.henry at gmail.com> wrote:

> I decided to start over and wrote a shell script that did the whole
> install and test....  here it is.
>
> ----------------------------------------
> #!/bin/sh
>
> tar xzvf rabbitmq-server-1.4.0.tar.gz
> cd rabbitmq-server-1.4.0 ; make ; cd ..
> sudo mv rabbitmq-server-1.4.0 /opt/local/lib/erlang/lib/rabbitmq_server-1.4.0
> LOG_BASE=/tmp SKIP_HEART=true SKIP_LOG_ARGS=true
> MNESIA_DIR=/tmp/rabbitmq_rabbit_test_direct_mnesia
> RABBIT_ARGS="-detached -pa ./ebin" NODENAME=rabbit_test_direct
> /opt/local/lib/erlang/lib/rabbitmq_server-1.4.0/scripts/rabbitmq-server
>
> tar xzvf rabbitmq-erlang-client-3a9ce636e283.tar.gz
> cd rabbitmq-erlang-client-3a9ce636e283; make; cd ..
> sudo mv rabbitmq-erlang-client-3a9ce636e283
> /opt/local/lib/erlang/lib/rabbitmq_client-3a9ce636e283
>
> erl -noshell -eval 'network_client_test:test(),halt().'
> ----------------------------------------
>
> I've attached its output to this email (its very long as a text file).
>  It contains the 6 failed tests from network_client_test:test/0

I've been able to reproduce your error: the problem is that the client
version you are using depends on a version of the broker later than
1.4.0. To reproduce this, I updated the broker back to the 1.4.0
release, rebuilt the client (rev 3a9ce636e283) and got exactly the
same error as you were getting.

So the solution is simple - upgrade to the latest version of the
server from the repo.

The reason why this is because the client reuses modules from the
broker in order to create a mirror image of a server side channel.

So the client is more intimately tied into the broker than the other
language clients are, which use the wire protocol and share no common
code base.

Until recently, the Erlang client has had an experimental status, but
due to increased interest, we have decided to promote this to a
properly support client. But there a number of issues that need to be
addressed before this goes 1.0.

In terms of ETA, this will only happen after the next release of the
server. Until then, you will just have to use the latest version from
the source tree.

HTH,

Ben




More information about the rabbitmq-discuss mailing list