ninenines / erlang.mk

A build tool for Erlang that just works.
https://erlang.mk
ISC License
580 stars 238 forks source link

problem using make to compile the rabbitmq_erlang_client #867

Closed rahulsaxena306 closed 5 years ago

rahulsaxena306 commented 5 years ago

Trying to follow these instructions to build erlang AMQP client: https://www.rabbitmq.com/build-erlang-client.html

When I type-in make, I see that some of the compilation is failing, giving issues in erlang.mk, I think because of this partial compilation, when I do applications: ensure_started(amqp_client) - it doesn't work. -thus I am not able to get the client up and running to connect to RabbitMQ server: Pasting the error below on typing in make command.

make[1]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common' make[2]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbitmq_codegen' make[2]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbitmq_codegen' make[1]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common' bridgeadm@btc5xXXX:~/rabbitmq-erlang-client$ make PLT=/path/to/plt dialyze make[1]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common' make[2]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbitmq_codegen' make[2]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbitmq_codegen' make[1]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common' /bin/sh: 1: dialyzer: not found erlang.mk:6586: recipe for target '/home/bridgeadm/rabbitmq-erlang-client/.amqp_client.plt' failed make: *** [/home/bridgeadm/rabbitmq-erlang-client/.amqp_client.plt] Error 1 bridgeadm@btc5xXXX:~/rabbitmq-erlang-client$ cd .. bridgeadm@btc5xXXX:~$ git clone https://github.com/rabbitmq/rabbitmq-erlang-client.git Cloning into 'rabbitmq-erlang-client'... remote: Enumerating objects: 12, done. remote: Counting objects: 100% (12/12), done. remote: Compressing objects: 100% (12/12), done. remote: Total 9702 (delta 2), reused 4 (delta 0), pack-reused 9690 Receiving objects: 100% (9702/9702), 3.41 MiB | 898.00 KiB/s, done. Resolving deltas: 100% (5673/5673), done. bridgeadm@btc5xXXX:~$ cd rabbitmq-erlang-client/ bridgeadm@btc5xXXX:~/rabbitmq-erlang-client$ make DEP rabbit_common (master) make[1]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common' DEP rabbitmq_codegen (master) DEP lager (3.8.0) No beam files found. Recompile: src/rebar Recompile: src/rebar_abnfc_compiler Recompile: src/rebar_app_utils Recompile: src/rebar_appups Recompile: src/rebar_asn1_compiler Recompile: src/rebar_base_compiler Recompile: src/rebar_cleaner Recompile: src/rebar_config Recompile: src/rebar_core Recompile: src/rebar_cover_utils Recompile: src/rebar_ct src/rebar_ct.erl:291: Warning: crypto:rand_uniform/2 is deprecated and will be removed in a future release; use rand:uniform/1 Recompile: src/rebar_deps Recompile: src/rebar_dia_compiler Recompile: src/rebar_dialyzer Recompile: src/rebar_edoc Recompile: src/rebar_erlc_compiler Recompile: src/rebar_erlydtl_compiler Recompile: src/rebar_escripter Recompile: src/rebar_eunit src/rebar_eunit.erl:282: Warning: crypto:rand_uniform/2 is deprecated and will be removed in a future release; use rand:uniform/1 Recompile: src/rebar_file_utils Recompile: src/rebar_getopt Recompile: src/rebar_lfe_compiler Recompile: src/rebar_log Recompile: src/rebar_metacmds Recompile: src/rebar_mustache Recompile: src/rebar_neotoma_compiler Recompile: src/rebar_otp_app Recompile: src/rebar_otp_appup Recompile: src/rebar_port_compiler Recompile: src/rebar_proto_compiler Recompile: src/rebar_proto_gpb_compiler Recompile: src/rebar_protobuffs_compiler Recompile: src/rebar_qc Recompile: src/rebar_rand_compat Recompile: src/rebar_rel_utils Recompile: src/rebar_reltool Recompile: src/rebar_require_vsn Recompile: src/rebar_shell Recompile: src/rebar_subdirs Recompile: src/rebar_templater Recompile: src/rebar_upgrade Recompile: src/rebar_utils Recompile: src/rebar_xref Recompile: src/rmemo ==> rebar (compile) ==> rebar (escriptize) Congratulations! You now have a self-contained script called "rebar" in your current working directory. Place this script anywhere in your path and you can use rebar to build OTP-compliant apps. /home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common DEP jsx (2.9.0) DEP ranch (1.7.1) DEP recon (2.5.0) DEP credentials_obfuscation (1.1.0) make[2]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbitmq_codegen' make[2]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbitmq_codegen' make[2]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/lager' DEP goldrush (0.1.9) make[3]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/goldrush' DEPEND goldrush.d ERLC glc.erl glc_code.erl glc_lib.erl glc_ops.erl glc_run.erl gr_app.erl gr_context.erl gr_counter.erl gr_counter_sup.erl gr_manager.erl gr_manager_sup.erl gr_param.erl gr_param_sup.erl gr_sup.erl gre.erl APP goldrush.app.src make[3]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/goldrush' DEPEND lager.d ERLC error_logger_lager_h.erl lager.erl lager_app.erl lager_backend_throttle.erl lager_common_test_backend.erl lager_config.erl lager_console_backend.erl lager_crash_log.erl lager_default_formatter.erl lager_file_backend.erl lager_format.erl lager_handler_watcher.erl lager_handler_watcher_sup.erl lager_manager_killer.erl lager_msg.erl lager_rotator_behaviour.erl lager_rotator_default.erl lager_stdlib.erl lager_sup.erl lager_transform.erl lager_trunc_io.erl lager_util.erl APP lager.app.src make[2]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/lager' make[2]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/jsx' DEPEND jsx.d ERLC jsx.erl jsx_config.erl jsx_consult.erl jsx_decoder.erl jsx_encoder.erl jsx_parser.erl jsx_to_json.erl jsx_to_term.erl jsx_verify.erl Old inliner: threshold=0 functions=[{doublequote,5}, {singlequote,5}, {maybe_replace,2}, {format_number,1}, {handle_event,3}] APP jsx.app.src make[2]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/jsx' make[2]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/ranch' DEPEND ranch.d ERLC ranch.erl ranch_acceptor.erl ranch_acceptors_sup.erl ranch_app.erl ranch_conns_sup.erl ranch_crc32c.erl ranch_listener_sup.erl ranch_protocol.erl ranch_proxy_header.erl ranch_server.erl ranch_ssl.erl ranch_sup.erl ranch_tcp.erl ranch_transport.erl APP ranch.app.src make[2]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/ranch' make[2]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/recon' DEPEND recon.d ERLC recon.erl recon_alloc.erl recon_lib.erl recon_map.erl recon_rec.erl recon_trace.erl Old inliner: threshold=0 functions=[{insert,2},{merge,2}] APP recon.app.src make[2]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/recon' make[2]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/credentials_obfuscation' DEPEND credentials_obfuscation.d ERLC credentials_obfuscation.erl credentials_obfuscation_app.erl credentials_obfuscation_pbe.erl APP credentials_obfuscation.app.src make[2]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/credentials_obfuscation' GEN include/rabbit_framing.hrl GEN src/rabbit_framing_amqp_0_8.erl GEN src/rabbit_framing_amqp_0_9_1.erl DEPEND rabbit_common.d ERLC app_utils.erl code_version.erl credit_flow.erl delegate.erl delegate_sup.erl file_handle_cache.erl file_handle_cache_stats.erl gen_server2.erl lager_forwarder_backend.erl mirrored_supervisor.erl mnesia_sync.erl pmon.erl priority_queue.erl rabbit_amqp_connection.erl rabbit_amqqueue_common.erl rabbit_auth_backend_dummy.erl rabbit_auth_mechanism.erl rabbit_authn_backend.erl rabbit_authz_backend.erl rabbit_basic_common.erl rabbit_binary_generator.erl rabbit_binary_parser.erl rabbit_cert_info.erl rabbit_channel_common.erl rabbit_command_assembler.erl rabbit_control_misc.erl rabbit_core_metrics.erl rabbit_data_coercion.erl rabbit_error_logger_handler.erl rabbit_event.erl rabbit_exchange_type.erl rabbit_framing_amqp_0_8.erl rabbit_framing_amqp_0_9_1.erl rabbit_heartbeat.erl rabbit_http_util.erl rabbit_json.erl rabbit_log.erl rabbit_log_ra_shim.erl rabbit_misc.erl rabbit_msg_store_index.erl rabbit_net.erl rabbit_nodes_common.erl rabbit_numerical.erl rabbit_password_hashing.erl rabbit_pbe.erl rabbit_peer_discovery_backend.erl rabbit_policy_validator.erl rabbit_queue_collector.erl rabbit_registry.erl rabbit_registry_class.erl rabbit_resource_monitor_misc.erl rabbit_runtime.erl rabbit_runtime_parameter.erl rabbit_semver.erl rabbit_semver_parser.erl rabbit_ssl_options.erl rabbit_types.erl rabbit_writer.erl supervisor2.erl vm_memory_monitor.erl worker_pool.erl worker_pool_sup.erl worker_pool_worker.erl src/rabbit_cert_info.erl:19: can't find include lib "public_key/include/public_key.hrl" src/rabbit_cert_info.erl:107: undefined macro 'id-at-surname' src/rabbit_cert_info.erl:40: record 'OTPCertificate' undefined src/rabbit_cert_info.erl:43: variable 'Issuer' is unbound src/rabbit_cert_info.erl:50: record 'OTPCertificate' undefined src/rabbit_cert_info.erl:53: variable 'Subject' is unbound src/rabbit_cert_info.erl:61: record 'OTPCertificate' undefined src/rabbit_cert_info.erl:64: variable 'Subject' is unbound src/rabbit_cert_info.erl:71: record 'OTPCertificate' undefined src/rabbit_cert_info.erl:74: variable 'Start' is unbound src/rabbit_cert_info.erl:75: variable 'End' is unbound src/rabbit_cert_info.erl:84: variable 'V' is unbound src/rabbit_cert_info.erl:84: record 'AttributeTypeAndValue' undefined src/rabbit_cert_info.erl:86: variable 'T' is unbound src/rabbit_cert_info.erl:101: function format_rdn/1 undefined src/rabbit_cert_info.erl:135: Warning: function escape_rdn_value/1 is unused src/rabbit_cert_info.erl:138: Warning: function escape_rdn_value/2 is unused erlang.mk:5360: recipe for target 'ebin/rabbit_common.app' failed make[2]: *** [ebin/rabbit_common.app] Error 1 erlang.mk:5107: recipe for target 'app' failed make[1]: *** [app] Error 2 make[1]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common' erlang.mk:4433: recipe for target 'deps' failed make: *** [deps] Error 2 bridgeadm@btc5xXXX:~/rabbitmq-erlang-client$ cd deps/ra rabbit_common/ rabbitmq_codegen/ ranch/ bridgeadm@btc5xXXX:~/rabbitmq-erlang-client$ cd deps/rabbit_c -bash: cd: deps/rabbit_c: No such file or directory bridgeadm@btc5xXXX:~/rabbitmq-erlang-client$ cd deps/rabbit_common/ bridgeadm@btc5xXXX:~/rabbitmq-erlang-client/deps/rabbit_common$ make all DEP rabbitmq_codegen (master) DEP lager (3.8.0) No beam files found. Recompile: src/rebar Recompile: src/rebar_abnfc_compiler Recompile: src/rebar_app_utils Recompile: src/rebar_appups Recompile: src/rebar_asn1_compiler Recompile: src/rebar_base_compiler Recompile: src/rebar_cleaner Recompile: src/rebar_config Recompile: src/rebar_core Recompile: src/rebar_cover_utils Recompile: src/rebar_ct src/rebar_ct.erl:291: Warning: crypto:rand_uniform/2 is deprecated and will be removed in a future release; use rand:uniform/1 Recompile: src/rebar_deps Recompile: src/rebar_dia_compiler Recompile: src/rebar_dialyzer Recompile: src/rebar_edoc Recompile: src/rebar_erlc_compiler Recompile: src/rebar_erlydtl_compiler Recompile: src/rebar_escripter Recompile: src/rebar_eunit src/rebar_eunit.erl:282: Warning: crypto:rand_uniform/2 is deprecated and will be removed in a future release; use rand:uniform/1 Recompile: src/rebar_file_utils Recompile: src/rebar_getopt Recompile: src/rebar_lfe_compiler Recompile: src/rebar_log Recompile: src/rebar_metacmds Recompile: src/rebar_mustache Recompile: src/rebar_neotoma_compiler Recompile: src/rebar_otp_app Recompile: src/rebar_otp_appup Recompile: src/rebar_port_compiler Recompile: src/rebar_proto_compiler Recompile: src/rebar_proto_gpb_compiler Recompile: src/rebar_protobuffs_compiler Recompile: src/rebar_qc Recompile: src/rebar_rand_compat Recompile: src/rebar_rel_utils Recompile: src/rebar_reltool Recompile: src/rebar_require_vsn Recompile: src/rebar_shell Recompile: src/rebar_subdirs Recompile: src/rebar_templater Recompile: src/rebar_upgrade Recompile: src/rebar_utils Recompile: src/rebar_xref Recompile: src/rmemo ==> rebar (compile) ==> rebar (escriptize) Congratulations! You now have a self-contained script called "rebar" in your current working directory. Place this script anywhere in your path and you can use rebar to build OTP-compliant apps. /home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common DEP jsx (2.9.0) DEP ranch (1.7.1) DEP recon (2.5.0) DEP credentials_obfuscation (1.1.0) make[1]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common/deps/rabbitmq_codegen' make[1]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common/deps/rabbitmq_codegen' make[1]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common/deps/lager' DEP goldrush (0.1.9) make[2]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common/deps/goldrush' DEPEND goldrush.d ERLC glc.erl glc_code.erl glc_lib.erl glc_ops.erl glc_run.erl gr_app.erl gr_context.erl gr_counter.erl gr_counter_sup.erl gr_manager.erl gr_manager_sup.erl gr_param.erl gr_param_sup.erl gr_sup.erl gre.erl APP goldrush.app.src make[2]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common/deps/goldrush' DEPEND lager.d ERLC error_logger_lager_h.erl lager.erl lager_app.erl lager_backend_throttle.erl lager_common_test_backend.erl lager_config.erl lager_console_backend.erl lager_crash_log.erl lager_default_formatter.erl lager_file_backend.erl lager_format.erl lager_handler_watcher.erl lager_handler_watcher_sup.erl lager_manager_killer.erl lager_msg.erl lager_rotator_behaviour.erl lager_rotator_default.erl lager_stdlib.erl lager_sup.erl lager_transform.erl lager_trunc_io.erl lager_util.erl APP lager.app.src make[1]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common/deps/lager' make[1]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common/deps/jsx' DEPEND jsx.d ERLC jsx.erl jsx_config.erl jsx_consult.erl jsx_decoder.erl jsx_encoder.erl jsx_parser.erl jsx_to_json.erl jsx_to_term.erl jsx_verify.erl Old inliner: threshold=0 functions=[{doublequote,5}, {singlequote,5}, {maybe_replace,2}, {format_number,1}, {handle_event,3}] APP jsx.app.src make[1]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common/deps/jsx' make[1]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common/deps/ranch' DEPEND ranch.d ERLC ranch.erl ranch_acceptor.erl ranch_acceptors_sup.erl ranch_app.erl ranch_conns_sup.erl ranch_crc32c.erl ranch_listener_sup.erl ranch_protocol.erl ranch_proxy_header.erl ranch_server.erl ranch_ssl.erl ranch_sup.erl ranch_tcp.erl ranch_transport.erl APP ranch.app.src make[1]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common/deps/ranch' make[1]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common/deps/recon' DEPEND recon.d ERLC recon.erl recon_alloc.erl recon_lib.erl recon_map.erl recon_rec.erl recon_trace.erl Old inliner: threshold=0 functions=[{insert,2},{merge,2}] APP recon.app.src make[1]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common/deps/recon' make[1]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common/deps/credentials_obfuscation' DEPEND credentials_obfuscation.d ERLC credentials_obfuscation.erl credentials_obfuscation_app.erl credentials_obfuscation_pbe.erl APP credentials_obfuscation.app.src make[1]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common/deps/credentials_obfuscation' GEN include/rabbit_framing.hrl GEN src/rabbit_framing_amqp_0_8.erl GEN src/rabbit_framing_amqp_0_9_1.erl DEPEND rabbit_common.d ERLC app_utils.erl code_version.erl credit_flow.erl delegate.erl delegate_sup.erl file_handle_cache.erl file_handle_cache_stats.erl gen_server2.erl lager_forwarder_backend.erl mirrored_supervisor.erl mnesia_sync.erl pmon.erl priority_queue.erl rabbit_amqp_connection.erl rabbit_amqqueue_common.erl rabbit_auth_backend_dummy.erl rabbit_auth_mechanism.erl rabbit_authn_backend.erl rabbit_authz_backend.erl rabbit_basic_common.erl rabbit_binary_generator.erl rabbit_binary_parser.erl rabbit_cert_info.erl rabbit_channel_common.erl rabbit_command_assembler.erl rabbit_control_misc.erl rabbit_core_metrics.erl rabbit_data_coercion.erl rabbit_error_logger_handler.erl rabbit_event.erl rabbit_exchange_type.erl rabbit_framing_amqp_0_8.erl rabbit_framing_amqp_0_9_1.erl rabbit_heartbeat.erl rabbit_http_util.erl rabbit_json.erl rabbit_log.erl rabbit_log_ra_shim.erl rabbit_misc.erl rabbit_msg_store_index.erl rabbit_net.erl rabbit_nodes_common.erl rabbit_numerical.erl rabbit_password_hashing.erl rabbit_pbe.erl rabbit_peer_discovery_backend.erl rabbit_policy_validator.erl rabbit_queue_collector.erl rabbit_registry.erl rabbit_registry_class.erl rabbit_resource_monitor_misc.erl rabbit_runtime.erl rabbit_runtime_parameter.erl rabbit_semver.erl rabbit_semver_parser.erl rabbit_ssl_options.erl rabbit_types.erl rabbit_writer.erl supervisor2.erl vm_memory_monitor.erl worker_pool.erl worker_pool_sup.erl worker_pool_worker.erl src/rabbit_cert_info.erl:19: can't find include lib "public_key/include/public_key.hrl" src/rabbit_cert_info.erl:107: undefined macro 'id-at-surname' src/rabbit_cert_info.erl:40: record 'OTPCertificate' undefined src/rabbit_cert_info.erl:43: variable 'Issuer' is unbound src/rabbit_cert_info.erl:50: record 'OTPCertificate' undefined src/rabbit_cert_info.erl:53: variable 'Subject' is unbound src/rabbit_cert_info.erl:61: record 'OTPCertificate' undefined src/rabbit_cert_info.erl:64: variable 'Subject' is unbound src/rabbit_cert_info.erl:71: record 'OTPCertificate' undefined src/rabbit_cert_info.erl:74: variable 'Start' is unbound src/rabbit_cert_info.erl:75: variable 'End' is unbound src/rabbit_cert_info.erl:84: variable 'V' is unbound src/rabbit_cert_info.erl:84: record 'AttributeTypeAndValue' undefined src/rabbit_cert_info.erl:86: variable 'T' is unbound src/rabbit_cert_info.erl:101: function format_rdn/1 undefined src/rabbit_cert_info.erl:135: function escape_rdn_value/1 is unused src/rabbit_cert_info.erl:138: function escape_rdn_value/2 is unused erlang.mk:5360: recipe for target 'ebin/rabbit_common.app' failed make[1]: *** [ebin/rabbit_common.app] Error 1 erlang.mk:5107: recipe for target 'app' failed make: *** [app] Error 2

essen commented 5 years ago

Do you have the public_key application in your Erlang installation? Some distributions split up Erlang into multiple packages and this causes this kind of issues.

rahulsaxena306 commented 5 years ago

The build instructions for the client mentions that as soon as you type make, it'll take care of dependencies and hence, installation of Erlang as well. I installed erlang separately using apt-get as well, just in case. As for your question, I don't really know how to check that if I have used apt-get to install erlang.

essen commented 5 years ago

Perhaps the build instructions are confusing, what they mean is that RabbitMQ and 3rd party dependencies are fetched automatically, but you still need Erlang installed properly. Because public_key is part of Erlang it can't be fetched like other libraries.

If you are on a Debian-based system then you need
the `erlang-nox`, `erlang-dev` and `erlang-src`
packages installed. If you are building and installing
Erlang from source then you must ensure that
`openssl` is installed on your system.

I'm not sure if the instructions are enough or if packages have changed since.

rahulsaxena306 commented 5 years ago

I tried reinstalling erlang , and running make command again. No red markers or errors this time, which is very confusing.

Since, it seemingly didn't give me any errors, I went ahead to /ebin directory inside the client folder.( It contains amqp_client.app file). According to instructions: https://www.rabbitmq.com/erlang-client-user-guide.html#example , I opened an erlang shell in that directory and typed 'application:ensure_started(amqp_client). It showed error there, something along the line of "not started, xmerl". Xmerl is installed though.

`bridgeadm@btc5xXXX:~/rabbitmq-erlang-client$ make
make[1]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common'
make[2]: Entering directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbitmq_codegen'
make[2]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbitmq_codegen'
 DEPEND rabbit_common.d
 ERLC   app_utils.erl code_version.erl credit_flow.erl delegate.erl delegate_sup.erl file_handle_cache.erl file_handle_cache_stats.erl gen_server2.erl lager_forwarder_backend.erl mirrored_supervisor.erl mnesia_sync.erl pmon.erl priority_queue.erl rabbit_amqp_connection.erl rabbit_amqqueue_common.erl rabbit_auth_backend_dummy.erl rabbit_auth_mechanism.erl rabbit_authn_backend.erl rabbit_authz_backend.erl rabbit_basic_common.erl rabbit_binary_generator.erl rabbit_binary_parser.erl rabbit_cert_info.erl rabbit_channel_common.erl rabbit_command_assembler.erl rabbit_control_misc.erl rabbit_core_metrics.erl rabbit_data_coercion.erl rabbit_error_logger_handler.erl rabbit_event.erl rabbit_exchange_type.erl rabbit_framing_amqp_0_8.erl rabbit_framing_amqp_0_9_1.erl rabbit_heartbeat.erl rabbit_http_util.erl rabbit_json.erl rabbit_log.erl rabbit_log_ra_shim.erl rabbit_misc.erl rabbit_msg_store_index.erl rabbit_net.erl rabbit_nodes_common.erl rabbit_numerical.erl rabbit_password_hashing.erl rabbit_pbe.erl rabbit_peer_discovery_backend.erl rabbit_policy_validator.erl rabbit_queue_collector.erl rabbit_registry.erl rabbit_registry_class.erl rabbit_resource_monitor_misc.erl rabbit_runtime.erl rabbit_runtime_parameter.erl rabbit_semver.erl rabbit_semver_parser.erl rabbit_ssl_options.erl rabbit_types.erl rabbit_writer.erl supervisor2.erl vm_memory_monitor.erl worker_pool.erl worker_pool_sup.erl worker_pool_worker.erl
 APP    rabbit_common
make[1]: Leaving directory '/home/bridgeadm/rabbitmq-erlang-client/deps/rabbit_common'
 DEPEND amqp_client.d
 ERLC   amqp_auth_mechanisms.erl amqp_channel.erl amqp_channel_sup.erl amqp_channel_sup_sup.erl amqp_channels_manager.erl amqp_client.erl amqp_connection.erl amqp_connection_sup.erl amqp_connection_type_sup.erl amqp_direct_connection.erl amqp_direct_consumer.erl amqp_gen_connection.erl amqp_gen_consumer.erl amqp_main_reader.erl amqp_network_connection.erl amqp_rpc_client.erl amqp_rpc_server.erl amqp_selective_consumer.erl amqp_ssl.erl amqp_sup.erl amqp_uri.erl amqp_util.erl rabbit_routing_util.erl uri_parser.erl
 APP    amqp_client
bridgeadm@btc5xXXX:~/rabbitmq-erlang-client$ cd ebin
bridgeadm@btc5xXXX:~/rabbitmq-erlang-client/ebin$ erl
Erlang/OTP 22 [erts-10.5.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1]

Eshell V10.5.2  (abort with ^G)
1> application:ensure_started(amqp_client).
{error,{not_started,xmerl}}
`
essen commented 5 years ago

Probably because you want application:ensure_all_started(amqp_client).

Anyway since there doesn't seem to be an issue, if you need RabbitMQ support please use their mailing lists, or the Erlang mailing lists or channels for Erlang questions.