<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi Emile,<br><br>Thanks. I encountered the following error while trying to build the presence exchange plugin using MinGW/MSYS on Windows 7 (64 bit). <br><br>escript: exception error: no match of right hand side value {error,enoent}<br><br>Note:<br>1. Even though I'm not able to compile the plugin, I'm able to compile rabbitmq server using the step described here -http://www.rabbitmq.com/build-server.html One thing though, I had to downgrade from Python 3 to v2 as the print code don't work in v3.<br><br>2. I've also tried using CYGWIN but it returns another error - escript: Failed to open file: /home/Fujitsu/rabbitmq/build-source/rabbitmq-public-umbrella/generate_deps<br><br>The full error pasted below and the complete code for generate_deps can be found here - http://pastebin.com/N4HVz8z1<br><br>Please let me know I can fix the problem. Thank you.<br><br><br>Fujitsu@JoshuaNotebook /d/RabbitMQ/build-source/rabbitmq-public-umbrella/presence-exchange-master<br>$ make<br>[elided] generate deps<br>escript: exception error: no match of right hand side value {error,enoent}<br> in function generate_deps__escript__1389__793192__493000:detect_deps/5 (d:/RabbitMQ/build-source/rabbitmq-public-umbrella/generate_deps, line 40)<br> in call from generate_deps__escript__1389__793192__493000:'-main/1-fun-0-'/6 (d:/RabbitMQ/build-source/rabbitmq-public-umbrella/generate_deps, line 19)<br> in call from lists:foldl/3 (lists.erl, line 1248)<br> in call from generate_deps__escript__1389__793192__493000:main/1 (d:/RabbitMQ/build-source/rabbitmq-public-umbrella/generate_deps, line 17)<br> in call from escript:run/2 (escript.erl, line 747)<br> in call from escript:start/1 (escript.erl, line 277)<br> in call from init:start_it/1 (init.erl, line 1054)<br> in call from init:start_em/1 (init.erl, line 1034)<br>[elided] generate deps<br>escript: exception error: no match of right hand side value {error,enoent}<br> in function generate_deps__escript__1389__793194__76000:detect_deps/5 (d:/RabbitMQ/build-source/rabbitmq-public-umbrella/generate_deps, line 40)<br> in call from generate_deps__escript__1389__793194__76000:'-main/1-fun-0-'/6 (d:/RabbitMQ/build-source/rabbitmq-public-umbrella/generate_deps, line 19)<br> in call from lists:foldl/3 (lists.erl, line 1248)<br> in call from generate_deps__escript__1389__793194__76000:main/1 (d:/RabbitMQ/build-source/rabbitmq-public-umbrella/generate_deps, line 17)<br> in call from escript:run/2 (escript.erl, line 747)<br> in call from escript:start/1 (escript.erl, line 277)<br> in call from init:start_it/1 (init.erl, line 1054)<br> in call from init:start_em/1 (init.erl, line 1034)<br>rm -rf ../rabbitmq-erlang-client/dist<br>make -C ../rabbitmq-erlang-client<br>make[1]: Entering directory `/d/RabbitMQ/build-source/rabbitmq-public-umbrella/rabbitmq-erlang-client'<br>rm -f deps.mk<br>echo src/amqp_auth_mechanisms.erl:src/amqp_channel.erl:src/amqp_channel_sup.erl:src/amqp_channel_sup_sup.erl:src/amqp_channels_manager.erl:src/amqp_client.erl:src/amqp_connection.erl:src/amqp_connection_sup.erl:src/amqp_connection_type_sup.erl:src/amqp_direct_connecti<br>erl:src/amqp_gen_connection.erl:src/amqp_gen_consumer.erl:src/amqp_main_reader.erl:src/amqp_network_connection.erl:src/amqp_rpc_client.erl:src/amqp_rpc_server.erl:src/amqp_selective_consumer.erl:src/amqp_sup.erl:src/amqp_uri.erl:src/rabbit_routing_util.erl:src/uri_par<br>include/amqp_client_internal.hrl:include/amqp_gen_consumer_spec.hrl:include/rabbit_routing_prefixes.hrl: | escript ../rabbitmq-server/generate_deps deps.mk ebin<br>make[1]: Leaving directory `/d/RabbitMQ/build-source/rabbitmq-public-umbrella/rabbitmq-erlang-client'<br>make[1]: Entering directory `/d/RabbitMQ/build-source/rabbitmq-public-umbrella/rabbitmq-erlang-client'<br>escript ../rabbitmq-server/generate_app rabbit_common.app.in rabbit_common.app src<br>sed 's/%%VSN%%/0.0.0/' rabbit_common.app > rabbit_common.app.tmp && mv rabbit_common.app.tmp rabbit_common.app<br>mkdir -p dist<br>rm -f dist/rabbit_common-0.0.0.ez<br>make -C ../rabbitmq-server<br>make[2]: Entering directory `/d/RabbitMQ/build-source/rabbitmq-public-umbrella/rabbitmq-server'<br>make[2]: Nothing to be done for `all'.<br>make[2]: Leaving directory `/d/RabbitMQ/build-source/rabbitmq-public-umbrella/rabbitmq-server'<br>rm -rf dist/rabbit_common-0.0.0<br>mkdir -p dist/rabbit_common-0.0.0/include<br>mkdir -p dist/rabbit_common-0.0.0/ebin<br>cp rabbit_common.app dist/rabbit_common-0.0.0/ebin/<br>( cp ../rabbitmq-server/ebin/app_utils.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/credit_flow.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/pmon.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/gen_s<br>.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/mirrored_supervisor.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/priority_queue.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_backing_queue.beam dist/rabbit_common-0.0.0/<br>r/ebin/rabbit_basic.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_binary_generator.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_binary_parser.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/e<br>bit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_channel_interceptor.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_runtime_parameter.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_command_assembl<br>/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_exchange_type.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_exchange_decorator.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_auth_backend.beam dist/rabbit_common<br>q-server/ebin/rabbit_auth_mechanism.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_framing_amqp_0_8.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_framing_amqp_0_9_1.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp<br>heartbeat.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_misc.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_msg_store_index.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_net.beam<br>; ( cp ../rabbitmq-server/ebin/rabbit_nodes.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_policy_validator.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_reader.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ..<br>ter.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_event.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_queue_collector.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_queue_decorato<br>ebin/ ); ( cp ../rabbitmq-server/ebin/rabbit_amqqueue.beam dist/rabbit_common-0.0.0/ebin/ ); ( cp ../rabbitmq-server/ebin/supervisor2.beam dist/rabbit_common-0.0.0/ebin/ );<br>cp ../rabbitmq-server/include/*.hrl dist/rabbit_common-0.0.0/include/<br>(cd dist; zip -q -r rabbit_common-0.0.0.ez rabbit_common-0.0.0)<br>mkdir -p deps<br>rm -rf deps/rabbit_common-0.0.0<br>mkdir -p deps/rabbit_common-0.0.0<br>unzip -q -o dist/rabbit_common-0.0.0.ez -d deps<br>ERL_LIBS=deps:dist erlc -I include -pa ebin -o ebin -Wall -v +debug_info -Duse_specs src/amqp_auth_mechanisms.erl<br>{error_logger,{{2014,1,15},{21,40,35}},std_error,"File operation error: eio. Target: deps:dist. Function: list_dir. Process: code_server."}<br><br>=ERROR REPORT==== 16-Jan-2014::05:40:35 ===<br>File operation error: eio. Target: deps:dist. Function: list_dir. Process: code_server.<br>d://RabbitMQ/BUILD-~1/RABBIT~3/RA9B14~1/include/amqp_client.hrl:20: can't find include lib "rabbit_common/include/rabbit.hrl"<br>d://RabbitMQ/BUILD-~1/RABBIT~3/RA9B14~1/include/amqp_client.hrl:21: can't find include lib "rabbit_common/include/rabbit_framing.hrl"<br>d://RabbitMQ/BUILD-~1/RABBIT~3/RA9B14~1/include/amqp_client.hrl:23: record 'P_basic' undefined<br>make[1]: *** [ebin/amqp_auth_mechanisms.beam] Error 1<br>make[1]: Leaving directory `/d/RabbitMQ/build-source/rabbitmq-public-umbrella/rabbitmq-erlang-client'<br>make: *** [../rabbitmq-erlang-client/dist/.done.0.0.0] Error 2<br><br>Fujitsu@JoshuaNotebook /d/RabbitMQ/build-source/rabbitmq-public-umbrella/presence-exchange-master<br>$<br><br>> Date: Mon, 13 Jan 2014 12:45:58 +0000<br>> From: emile@rabbitmq.com<br>> To: rabbitmq-discuss@lists.rabbitmq.com<br>> CC: joshua__lim@hotmail.com; tonygarnockjones+rabbitmq@gmail.com<br>> Subject: Re: [rabbitmq-discuss] How to use Presence Exchange Plugin using STOMP and RabbitMQ Server v3.2.1?<br>> <br>> <br>> Hi Joshua,<br>> <br>> On 12/01/14 15:04, Joshua Lim wrote:<br>> <br>> > Immediately after that, the guest STOMP connection crashed when I<br>> > had expect it to receive messages after user joshua has subscribed to<br>> > "presence" exchange. <br>> > <br>> > What have I done wrongly?<br>> <br>> <br>> When I try this I see the following error in the logfile:<br>> <br>> ** Reason for termination ==<br>> ** {badarg,[{erlang,binary_to_list,["bind"],[]},<br>> <br>> <br>> This looks like a problem in the presence exchange. I have submitted a<br>> pull request to the author which appears to solve the problem. With the<br>> patch applied you should see messages like this being delivered to the<br>> first subscriber:<br>> <br>> <br>> MESSAGE<br>> subscription:test<br>> destination:/exchange/presence<br>> message-id:T_test@@session-Ip9MZyrYrNyRHqVNDM9lpA@@1<br>> action:bind<br>> exchange:presence<br>> queue:amq.gen-1gqzkBxb5AYbBFXGF2GNxw<br>> key:joshua<br>> <br>> <br>> <br>> <br>> <br>> <br>> -Emile<br>> <br>> <br>> <br> </div></body>
</html>