从源代码构建rabbitmq

时间:2011-05-31 05:18:53

标签: python erlang makefile rabbitmq

我尝试从源代码构建rabbitmq-server-2.4.1。但得到错误:

make
python codegen.py body codegen/amqp-rabbitmq-0.9.1.json
src/rabbit_framing_amqp_0_9_1.erl
Traceback (most recent call last):
 File "codegen.py", line 492, in <module>
   "body": generateErl})
 File "codegen/amqp_codegen.py", line 283, in do_main_dict
   execute(funcDict[function], sources, dest)
 File "codegen/amqp_codegen.py", line 262, in execute
   fn(amqp_specs)
 File "codegen.py", line 485, in generateErl
   genErl(AmqpSpec(specPath))
 File "codegen/amqp_codegen.py", line 140, in __init__
   self.major = self.spec['major-version']
KeyError: 'major-version'
make: *** No rule to make target `deps.mk', needed by
`ebin/bpqueue.beam'.  Stop.

我使用的是python 2.7.1

我该如何解决?

1 个答案:

答案 0 :(得分:1)

您的问题可能是python版本。 我能够使用python 2.6.2编译和安装rabbitMQ 2.4.1。

如果您使用Solaris并使用pkgutil,则获取python 2.6.2的命令将是

# My version of Sun OS (for comparison)
$ uname -a 
SunOS dev21 5.10 Generic_141445-09 i86pc i386 i86pc 

# install python 2.6.2
$ sudo pkgutil --install python-2.6.2,REV=2009.08.06


注意:在 make 期间,我仍然看到这些错误消息。 RabbitMQ 2.4.1的构建仍然成功。

$ make
/bin/sh: python2.5: not found
python codegen.py body codegen/amqp-rabbitmq-0.9.1.json src/rabbit_framing_amqp_0_9_1.erl 
...