Closed agladysh closed 13 years ago
looks like luarocks is not finding the ZeroMQ headers.
oops, didn't mean to close it.
also you should be using ZeroMQ 2.1.x, the ZeroMQ devs don't recomend 2.0.x.
It is not Luarocks — or it would not allow build to begin.
It is gcc — and it is strange, since there is -I/usr/include in the command line, and there is zmq.h there.
Can I provide you any additional diagnostics?
Ah, one more Ubuntu packet to install manually... :-(
oh, I think I know what the problem is.
ZeroMQ 2.0 doesn't define socket_t
Is this hard to fix?
should be fixed now, install from: https://github.com/Neopallium/lua-zmq/raw/master/rockspecs/lua-zmq-scm-1.rockspec
Halfway there:
$ sudo luarocks install https://github.com/Neopallium/lua-zmq/raw/master/rockspecs/lua-zmq-scm-1.rockspec Cloning into lua-zmq... remote: Counting objects: 106, done. remote: Compressing objects: 100% (104/104), done. remote: Total 106 (delta 61), reused 3 (delta 0) Receiving objects: 100% (106/106), 58.69 KiB, done. Resolving deltas: 100% (61/61), done. gcc -O2 -fPIC -I/usr/include/lua5.1 -c src/pre_generated-zmq.nobj.c -o src/pre_generated-zmq.nobj.o src/pre_generated-zmq.nobj.c: In function ‘get_zmq_strerror’: src/pre_generated-zmq.nobj.c:1993: error: ‘ETERM’ undeclared (first use in this function) src/pre_generated-zmq.nobj.c:1993: error: (Each undeclared identifier is reported only once src/pre_generated-zmq.nobj.c:1993: error: for each function it appears in.) src/pre_generated-zmq.nobj.c: In function ‘ZMQ_Socket__setopt__meth’: src/pre_generated-zmq.nobj.c:2302: error: ‘ZMQ_RCVMORE’ undeclared (first use in this function) src/pre_generated-zmq.nobj.c: In function ‘ZMQ_Socket__getopt__meth’: src/pre_generated-zmq.nobj.c:2372: error: ‘ZMQ_RCVMORE’ undeclared (first use in this function) src/pre_generated-zmq.nobj.c: In function ‘zmq__init__func’: src/pre_generated-zmq.nobj.c:2811: error: too few arguments to function ‘zmq_init’ Error: Build error: Failed compiling object src/pre_generated-zmq.nobj.o
hmm, I think your version of 2.0.6beta is too old. ZMQ_RCVMORE is needed, and I don't know what the replacement is for 2.0.6.
The latest 2.0 is 2.0.11.
same, with ETERM. You might have a beta release from the 2.0.x series.
That is what Ubuntu 10.10 has packed in.
Since this is a common configuration, I suggest you to detect it in source and emit an #error.
I will try with more recent 2.1 as soon as I find suitable .deb for it.
See here for how to get a newer version of zmq on ubuntu http://fanf42.blogspot.com/2011/02/installing-zeromq-and-java-bindings-on.html
I will see about adding a version check to the code.
ok, can you test my old version detection code? It should now raise a compile error saying that the ZeroMQ version is too old. The 2.0.x series doesn't have ZMQ_VERSION, so I had to just add a test for ZMQ_RCVMORE.
gcc -O2 -fPIC -I/usr/include/lua5.1 -c src/pre_generated-zmq.nobj.c -o src/pre_generated-zmq.nobj.o src/pre_generated-zmq.nobj.c:1745: error: #error "Your version of ZeroMQ is too, old."
I do not think that you need a comma there.
Also, consider listing minimal required version and where to get it.
One problem with listing minimal version is that I don't know which of the 2.0.x will work with the bindings. I will try to add some kind of version note to the readme.
Anyways thanks for testing that.
Fix confirmed, with libzmq 2.1.x rock installs fine (libzmq-dev_2.1.4-1chl1~maverick1_i386.deb).
Can you please release a stable version with this fix?
BTW, Thank you very much for the support!
I will maybe do a new point release next week, this week-end is going to be busy for me.
re-opening as a reminder.
About the minimal version in the error message: you can specify recommended instead.
OK, thank you!