Opened 6 years ago

Closed 5 years ago

#56928 closed defect (fixed)

rabbitmq-server @3.6.15_0 installed binary will not run with listed dependency erlang @21.0_0

Reported by: sarcas (James Bell) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: bpanulla (Brian Panulla), ostefano (Stefano Ortolani), ltalirz (Leopold Talirz)
Port: rabbitmq-server

Description

OS: 10.13.6 XCode: 9.4.1

MacPort's current rabbitmq-server is at version 3.6.15, and the current version of erlang is 21.

The rabbitmq-server port will install successfully. After installation is completed, attempting to run the binary to set up the server will give an error:

sudo rabbitmq-server
Password:


BOOT FAILED
===========

Error description:
   noproc
...  <snipped>

I've tracked this down to changes in Erlang 21. According to the RabbitMQ developers, no version of RabbitMQ prior to 3.7.7 has Erlang 21 compatibility: https://www.rabbitmq.com/changelog.html

To check this is the cause, I checked out the previous version of Erlang in MacPorts (at 09ae4b4f3e), which gives erlang @20.3_0. WIth this installed, RabbitMQ runs

sudo rabbitmq-server

              RabbitMQ 3.6.15. Copyright (C) 2007-2018 Pivotal Software, Inc.
  ##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/
  ##  ##
  ##########  Logs: /opt/local/var/log/rabbitmq/rabbit<>.log
  ######  ##        /opt/local/var/log/rabbitmq/rabbit<>-sasl.log
  ##########
              Starting broker...
 completed with 0 plugins.

I suspect the correct MacPort style fix here is to update the rabbitmq-server port, but don't currently know enough to understand how to do this.

Change History (9)

comment:1 Changed 6 years ago by bpanulla (Brian Panulla)

Cc: bpanulla added

comment:2 Changed 6 years ago by tehfink

Thanks. Ran into this same issue on OS 10.13.4 & XCode: 9.4

comment:3 Changed 6 years ago by kencu (Ken)

Indeed, the port will need to be updated.

"RabbitMQ 3.7.7 is out and supports Erlang/OTP 21 [1]."

<https://groups.google.com/forum/#!msg/rabbitmq-users/KbOldePfgYw/cjYzldEJAQAJ>

It's not a simple-looking port, but perhaps with luck it will be just a version / checksum change (dreaming...).

I don't use it, so have no idea how to test it.

Looks like Author: Zero King <l2dy@…> has done the last several changes, but the port is nomaintainer.

comment:4 Changed 6 years ago by ostefano (Stefano Ortolani)

Cc: ostefano added

comment:5 Changed 5 years ago by ostefano (Stefano Ortolani)

In the meanwhile it would be nice to have a mechanism to pin a specific version of erlang, so to handle upgrade outdated scenarios gracefully.

Last edited 5 years ago by ostefano (Stefano Ortolani) (previous) (diff)

comment:6 Changed 5 years ago by ltalirz (Leopold Talirz)

Cc: ltalirz added

comment:7 Changed 5 years ago by ltalirz (Leopold Talirz)

Thanks a lot for providing this workaround - this problem is really hard to debug for someone who has never had to interact with Erlang before, since the error message (noproc) does not provide any useful hints.

For others suffering from this issue, here the instructions to go back to erlang 20.3 (which, to be honest, could also be a bit easier...)

git clone --single-branch https://github.com/macports/macports-ports.git
cd macports-ports/lang/erlang/
git checkout 66b25e1930aecb7642060ecaf1d471f4e830e830
sudo port install

Plus the link to the commit history: https://github.com/macports/macports-ports/commits/master/lang/erlang

comment:8 Changed 5 years ago by sarcas (James Bell)

The rabbitmq-server port was updated in December which closes this ticket off. Thanks to Scanner for the fix! I don't appear to have the ability to mark this ticket as resolved, but if someone who does has the time to close the ticket that would be wonderful.

Thanks again!

comment:9 Changed 5 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.