rabbitmq / rabbitmq-udp-exchange

A RabbitMQ plugin that represents a stream of messages sent over UDP as an exchange. Originally by @tonyg.
Other
1 stars 1 forks source link

Fail to compile #1

Closed pauldeng closed 6 months ago

pauldeng commented 6 months ago

Describe the bug

Thank you for creating this plugin @tonyg and bring this plugin under RabbitMQ repo @michaelklishin.

I would love to try and use this plugin, but found it has not been up-to-date for a while and compile failed.

I am new to the erlang development and hoping you could help to bring this plugin back to life.

Reproduction steps

  1. Ubuntu 22.04
  2. sudo apt install git make build-essential python3 python-is-python3 zip unzip curl
  3. sudo apt install erlang erlang-nox erlang-dev erlang-src elixir erlang 24.2.1, elixir 1.12.2
  4. clone this repo
  5. make
  6. No makefile for thoas. Fixed by copy makefile from rabbitmq server build
  7. No makefile for recon. Fixed by copy makefile from rabbitmq server build
  8. No makefile for credentials_obfuscation. Fixed by copy makefile from rabbitmq server build
  9. now shows error below and no idea how to proceed
    rabbit_data_coercion.erl:70:23: syntax error before: '||'
    rabbit_data_coercion.erl:11:2: function atomize_keys/1 undefined
    rabbit_data_coercion.erl:66:2: spec for undefined function atomize_keys/1
    make[2]: *** [erlang.mk:4759: ebin/rabbit_common.app] Error 1
    make[1]: *** [erlang.mk:4499: app] Error 2

Expected behavior

Successfully compile.

Would be good if this project can be upgraded to support latest erlang OTP 26 and RabbitMQ 3.12 and 3.13.

Even better, if better documentation can be provided for plugin development.

Additional context

Thank you again for your work.

lukebakken commented 6 months ago

Hello, thanks for using RabbitMQ and this plugin.

I suggest opening this issue in https://github.com/tonyg/udp-exchange

Team RabbitMQ will archive this repository as we do not have the resources (or demand) to maintain it.

I have tried to get the plugin working with RabbitMQ 3.13, via this PR - https://github.com/tonyg/udp-exchange/pull/9

One issue is that plugin compilation with the current RabbitMQ code is somewhat broken. Here is how you should set up your environment:

git clone https://github.com/rabbitmq/rabbitmq-server.git
cd rabbitmq-server/deps
git clone https://github.com/tonyg/udp-exchange.git
cd ..
make
cd deps/udp-exchange
make dist

Right now the above process fails using my PR, due to missing functions in the UDP exchange plugin.