Closed rahulsaxena306 closed 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.
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.
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.
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}}
`
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.
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