Building RabbitMQ in Windows (Erlang not installed in Cygwin)

331 views
Skip to first unread message

Ryan Zink

unread,
Aug 31, 2015, 3:47:42 PM8/31/15
to rabbitmq-users
I am having trouble building RabbitMQ in Windows (Windows 7 Pro 64-bit). I am building it rather than installing using the precompiled binaries in order to look into resolving one of the open RabbitMQ issues.

Here are the instructions that I got to install RabbitMQ in Windows (from Michael Klishin):

# clone the umbrella repo, then all repos, then check out the stable branch

git clone https://github.com/rabbitmq/rabbitmq-public-umbrella
cd rabbitmq-public-umbrella
make co
make named_update BRANCH=stable

# build the server, all plugins and Windows installer
make UNOFFICIAL_RELEASE=1 VERSION=3.5.4.90 -f release.mk rabbitmq-server-windows-exe-packaging

However, erlang is not installed and is not available as a cygwin library (that I can tell). Is the only way to get erlang installed in Cygwin that doesn't require building it from source (as seen here: http://www.erlang.org/doc/installation_guide/INSTALL-WIN32.html). Without erlang installed, the make command obviously fails.

Thanks,
Ryan

Michael Klishin

unread,
Aug 31, 2015, 3:51:57 PM8/31/15
to rabbitm...@googlegroups.com, Ryan Zink
 On 31 Aug 2015 at 22:47:44, Ryan Zink (ryan...@gmail.com) wrote:
> I am having trouble building RabbitMQ in Windows (Windows 7
> Pro 64-bit). I am building it rather than installing using the
> precompiled binaries in order to look into resolving one of the
> open RabbitMQ issues.
>
> Here are the instructions that I got to install RabbitMQ in Windows
> (from Michael Klishin):
>
> # clone the umbrella repo, then all repos, then check out the stable
> branch
> git clone https://github.com/rabbitmq/rabbitmq-public-umbrella
> cd rabbitmq-public-umbrella
> make co
> make named_update BRANCH=stable
>
> # build the server, all plugins and Windows installer
> make UNOFFICIAL_RELEASE=1 VERSION=3.5.4.90 -f release.mk 
> rabbitmq-server-windows-exe-packaging

These instructions *may* work with Cygwin but they are for Linux.

If you want a build from the tip of the stable branch, we can produce a one-off build
for you, just let me know what package type you want (I assume Windows installer).

> However, erlang is not installed and is not available as a cygwin
> library (that I can tell). Is the only way to get erlang installed
> in Cygwin that doesn't require building it from source (as seen
> here: http://www.erlang.org/doc/installation_guide/INSTALL-WIN32.html).
> Without erlang installed, the make command obviously fails.

You can install Erlang from the official binary packages for Windows. Cygwin is
capable of using Windows binaries in PATH.
--
MK

Staff Software Engineer, Pivotal/RabbitMQ


Ryan Zink

unread,
Aug 31, 2015, 4:56:32 PM8/31/15
to rabbitmq-users, ryan...@gmail.com
If you want a build from the tip of the stable branch, we can produce a one-off build 
for you, just let me know what package type you want (I assume Windows installer). 

That would actually be great. All I am looking at modifying for the issue is the NSIS input file, so if there is a build that would contain everything compiled along with rabbitmq_nsi.in that would be ideal.

Michael Klishin

unread,
Aug 31, 2015, 4:57:52 PM8/31/15
to rabbitm...@googlegroups.com, Ryan Zink
On 31 Aug 2015 at 23:56:34, Ryan Zink (ryan...@gmail.com) wrote:
> That would actually be great. All I am looking at modifying for
> the issue is the NSIS input file, so if there is a build that would
> contain everything compiled along with rabbitmq_nsi.in that
> would be ideal.

What branch in rabbitmq-server is that?

Ryan Zink

unread,
Aug 31, 2015, 6:12:11 PM8/31/15
to rabbitmq-users, ryan...@gmail.com
I don't believe such a branch exists currently.

Michael Klishin

unread,
Aug 31, 2015, 6:36:01 PM8/31/15
to rabbitm...@googlegroups.com, ryan...@gmail.com
If you are after some changes to the installer, fork the repo and push a branch to github (3.5.x releases use the stable branch).

Otherwise we cannot build it.

MK

Ryan Zink

unread,
Sep 23, 2015, 1:52:48 PM9/23/15
to rabbitmq-users, ryan...@gmail.com
Michael,

I have forked the branch and pushed it to https://github.com/ryanzink/issue-264 

Michael Klishin

unread,
Sep 24, 2015, 9:48:00 AM9/24/15
to rabbitm...@googlegroups.com, Ryan Zink
On 23 Sep 2015 at 20:52:51, Ryan Zink (ryan...@gmail.com) wrote:
> Michael,
>
> I have forked the branch and pushed it to https://github.com/ryanzink/issue-264

Ryan,

Thank you. What’s the branch name? It’s more common to leave the repo name
the same in a fork but create a branch name that you then publish mention to the maintainer.

Could you do that?

Ryan Zink

unread,
Sep 24, 2015, 11:05:57 AM9/24/15
to rabbitmq-users, ryan...@gmail.com
Hey Michael,

Sorry... haven't contributed to a project before. I have renamed my fork to rabbitmq-server and created the branch rabbitmq-server-264 for this.

Ryan Zink

unread,
Sep 30, 2015, 11:10:44 AM9/30/15
to rabbitmq-users, ryan...@gmail.com
Michael,

Have you had the chance to create the branch for this? I'm not seeing it yet.

Thanks.

Alvaro Videla

unread,
Sep 30, 2015, 11:19:57 AM9/30/15
to rabbitm...@googlegroups.com, ryan...@gmail.com
Michael is on holidays until next week. He's replying here during this week I'd guess out of pure passion.

Cheers

--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To post to this group, send email to rabbitm...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Ryan Zink

unread,
Oct 15, 2015, 11:11:30 AM10/15/15
to rabbitmq-users, ryan...@gmail.com
Hey Michael, just following up... have you had a chance to create the branch for this issue?

Michael Klishin

unread,
Oct 19, 2015, 4:08:40 AM10/19/15
to rabbitm...@googlegroups.com, Ryan Zink
On 15 Oct 2015 at 18:11:32, Ryan Zink (ryan...@gmail.com) wrote:
> Hey Michael, just following up... have you had a chance to create
> the branch for this issue?

Hi Ryan,

Sorry that it’s taken me this long. I’ve tried pulling your
branch and see no changes from you:

https://github.com/ryanzink/rabbitmq-server/compare/rabbitmq-server-264...rabbitmq:master

Can you please re-fork rabbitmq-server and push a branch with the same name one more time?
Then we’d be happy to take a look.

Also note that if this change isn’t breaking and could go into 3.5.x, please branch off of stable
and not master.

Thank you! 

Michael Klishin

unread,
Oct 19, 2015, 4:10:35 AM10/19/15
to rabbitm...@googlegroups.com, Ryan Zink
On 19 Oct 2015 at 11:08:32, Michael Klishin (mkli...@pivotal.io) wrote:
> Sorry that it’s taken me this long. I’ve tried pulling your
> branch and see no changes from you:
>
> https://github.com/ryanzink/rabbitmq-server/compare/rabbitmq-server-264...rabbitmq:master
>
> Can you please re-fork rabbitmq-server and push a branch with
> the same name one more time?
> Then we’d be happy to take a look.
>
> Also note that if this change isn’t breaking and could go into
> 3.5.x, please branch off of stable
> and not master.

Sorry, I think github may have swapped base and topic repos in that specific URL.

 I’ll use the command line instead.

Michael Klishin

unread,
Oct 19, 2015, 4:13:22 AM10/19/15
to rabbitm...@googlegroups.com, Ryan Zink
I’m afraid I can’t find any of commits from you on branch rabbitmq-server-264:
https://github.com/rabbitmq/rabbitmq-server/compare/master...ryanzink:rabbitmq-server-264?expand=1

including via git CLI. It’s identical to master in your fork. 

Ryan Zink

unread,
Oct 19, 2015, 1:56:15 PM10/19/15
to rabbitmq-users, ryan...@gmail.com
Yes, that was the original intention (to not have any commits yet). I thought you had asked me to create a branch where you could create the compiled Windows executables so I could have a base to modify the NSIS installation configuration files to fix the installer issues.

Michael Klishin

unread,
Oct 19, 2015, 3:10:08 PM10/19/15
to rabbitm...@googlegroups.com, Ryan Zink
On 19 Oct 2015 at 20:56:22, Ryan Zink (ryan...@gmail.com) wrote:
> I thought you had asked me to create a branch where you could create
> the compiled Windows executables so I could have a base to modify
> the NSIS installation configuration files to fix the installer
> issues.

If you need a Windows binary build you can download one from rabbitmq.com or GitHub.

Michael Klishin

unread,
Oct 20, 2015, 2:45:41 AM10/20/15
to Ryan Zink, rabbitm...@googlegroups.com
+rabbitmq-users

On 20 Oct 2015 at 00:48:06, Ryan Zink (ryan...@gmail.com) wrote:
> > What I'm trying to do is get binaries that are compiled to the
> point that I can use the rabbitmq-server/packaging/windows-exe/rabbitmq_nsi.in
> file with NSIS compiler to look at the setup steps performed by
> the resulting .exe.
>
> I am able to test the NSIS input file by overwriting the %%VERSION%%
> values in the file and changing how the language files are loaded,
> but it would be better if I knew how these files are dynamically
> generated when the build takes place. I will test the NSIS file
> with my hard-coded version and language values in the meantime.

Ryan,

We don’t have “multi-tier” builds like that. Please push your *source code* changes to a branch
and I will build it and upload here. There are no other options besides setting up a Linux VM capable
of building RabbitMQ from source (which is not hard, however). 

Ryan Zink

unread,
Oct 20, 2015, 10:55:01 AM10/20/15
to rabbitmq-users, ryan...@gmail.com
Ok, I have pushed my installer changes to https://github.com/ryanzink/rabbitmq-server/tree/rabbitmq-server-264, which was forked and branched from stable.

Michael Klishin

unread,
Oct 20, 2015, 12:15:21 PM10/20/15
to rabbitm...@googlegroups.com, Ryan Zink
On 20 Oct 2015 at 17:55:04, Ryan Zink (ryan...@gmail.com) wrote:
> Ok, I have pushed my installer changes to https://github.com/ryanzink/rabbitmq-server/tree/rabbitmq-server-264,
> which was forked and branched from stable.

Ryan,

I’m afraid I won’t be able to publish a build today, expect it tomorrow before noon (European time zones).

Michael Klishin

unread,
Oct 20, 2015, 12:16:04 PM10/20/15
to rabbitm...@googlegroups.com, Ryan Zink
On 20 Oct 2015 at 17:55:04, Ryan Zink (ryan...@gmail.com) wrote:
> Ok, I have pushed my installer changes to https://github.com/ryanzink/rabbitmq-server/tree/rabbitmq-server-264,
> which was forked and branched from stable.

Thank you, the commit is indeed there:
https://github.com/rabbitmq/rabbitmq-server/compare/stable...ryanzink:rabbitmq-server-264

Jean-Sébastien Pédron

unread,
Oct 22, 2015, 5:11:30 AM10/22/15
to rabbitm...@googlegroups.com
On 20.10.2015 16:55, Ryan Zink wrote:
> Ok, I have pushed my installer changes
> to https://github.com/ryanzink/rabbitmq-server/tree/rabbitmq-server-264,
> which was forked and branched from stable.

Hi Ryan!

I posted the following comment on GitHub, but I post it here too to
people following this are aware of it:

I built your rabbitmq-server-264 branch to produce a test installer.
However, I had to comment out line 116:
https://github.com/ryanzink/rabbitmq-server/blob/rabbitmq-server-264/packaging/windows-exe/rabbitmq_nsi.in#L116

Otherwise, I got the following error:

makensis -V2 rabbitmq-3.5.6.264.nsi
Error: can't load same language file twice.
Error in macro MUI_LANGUAGE on macroline 9
Error in script "rabbitmq-3.5.6.264.nsi" on line 116 -- aborting
creation process
make[1]: *** [dist] Error 1

I have no idea if this is correct. Could you please take a look and push
a fix to your branch?

--
Jean-Sébastien Pédron
Pivotal / RabbitMQ

Michael Klishin

unread,
Oct 22, 2015, 5:23:14 AM10/22/15
to rabbitmq-users, ryan...@gmail.com, mic...@rabbitmq.com
Ryan,

We had to correct your changes a bit [1]. Please find a built installer attached.
We'll create a branch named rabbitmq-server-264 in rabbitmq/rabbitmq-server. Please rebase
against it for future changes.

1. https://github.com/rabbitmq/rabbitmq-server/issues/264#issuecomment-150156345

On Tuesday, October 20, 2015 at 7:16:04 PM UTC+3, Michael Klishin wrote:
rabbitmq-server-3.5.6.264.exe.zip

Ryan Zink

unread,
Oct 23, 2015, 1:57:24 PM10/23/15
to rabbitmq-users, ryan...@gmail.com, mic...@rabbitmq.com
Hey guys,

Yes, that line was only needed when the language wasn't populated by the build process, so you are correct and it should be removed. I have updated and pushed changes, but I am seeing some missing content in the installer that looks like something I didn't impact... see my comment on the Github issue: https://github.com/rabbitmq/rabbitmq-server/issues/264#issuecomment-150646513

Ryan Zink

unread,
Oct 30, 2015, 6:56:51 PM10/30/15
to rabbitmq-users, ryan...@gmail.com, mic...@rabbitmq.com
Have you had a chance to rebuild and test the changes and look into the blank installer page?

Michael Klishin

unread,
Oct 31, 2015, 2:24:02 AM10/31/15
to rabbitm...@googlegroups.com, Ryan Zink
On 31 October 2015 at 01:56:54, Ryan Zink (ryan...@gmail.com) wrote:
> Have you had a chance to rebuild and test the changes and look
> into the blank installer page?

No, sorry. I'm not sure this would get much attention before 3.6 ships. We will see. 
Reply all
Reply to author
Forward
0 new messages