[zeromq-dev] Build failure in python?
Adrian von Bidder
avbidder at fortytwo.ch
Mon Jan 25 07:34:38 CET 2010
Heyho!
Working off the beta2 tarball (and offline, so can't try git just now.):
The build fails for me while trying to link the python bindings.
When I first saw it, it was trying to link the Python library with '-
luby1.8', when I run configure without --with-ruby, no language library
would be specified at all. Dropping -lruby1.8 and adding -lpython2.5, the
build succeeds.
Build is:
./configure \
--prefix=/usr \
--with-pgm \
--with-forwarder \
--with-streamer \
--with-queue \
--with-c \
--with-cpp \
--with-python \
--with-ruby \
--with-ruby-headersdir=/usr/lib/ruby/1.8/i486-linux \
--with-java \
--with-cl=/usr/share/common-lisp/systems \
CFLAGS="" \
LDFLAGS="-Wl,-z,defs" \
JAVA_HOME=/usr/lib/jvm/java-6-openjdk
The configure runs ok and also reports that it's found the python stuff.
Build then fails with:
++++
make[3]: Entering directory `/home/avbidder/0mq/zeromq/bindings/python'
/bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -avoid-version -Wl,-z,defs -o libpyzmq.la -rpath /usr/lib/python2.5/site-
packages pyzmq.lo ../../src/libzmq.la -lruby1.8 -luuid -lstdc++ -lpthread
libtool: link: g++ -shared -nostdlib /usr/lib/gcc/i486-linux-gnu/4.3.4/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.3.4/crtbeginS.o
.libs/pyzmq.o -Wl,-rpath -Wl,/home/avbidder/0mq/zeromq/src/.libs ../../src/.libs/libzmq.so -lruby1.8 -luuid -lpthread -L/usr/lib/gcc/i486-
linux-gnu/4.3.4 -L/usr/lib/gcc/i486-linux-gnu/4.3.4/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-
gnu/4.3.4/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i486-linux-gnu/4.3.4/crtendS.o /usr/lib/gcc/i486-linux-
gnu/4.3.4/../../../../lib/crtn.o -Wl,-z -Wl,defs -pthread -Wl,-soname -Wl,libpyzmq.so -o .libs/libpyzmq.so
.libs/pyzmq.o: In function `initlibpyzmq':
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:462: undefined reference to `PyType_Ready'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:464: undefined reference to `PyType_Ready'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:467: undefined reference to `Py_InitModule4'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:473: undefined reference to `PyModule_AddObject'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:475: undefined reference to `PyModule_AddObject'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:477: undefined reference to `PyModule_GetDict'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:480: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:481: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:483: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:484: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:486: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:487: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:489: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:490: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:492: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:493: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:495: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:496: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:498: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:499: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:501: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:502: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:504: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:505: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:507: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:508: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:510: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:511: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:513: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:514: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:516: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:517: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:519: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:520: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:522: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:523: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:525: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:526: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:528: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:529: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:531: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:532: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:534: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:535: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:537: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:538: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:540: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:541: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:543: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:544: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:546: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:547: undefined reference to `PyDict_SetItemString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:549: undefined reference to `PyInt_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:550: undefined reference to `PyDict_SetItemString'
.libs/pyzmq.o: In function `socket_recv(socket_t*, _object*, _object*)':
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:282: undefined reference to `PyArg_ParseTupleAndKeywords'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:292: undefined reference to `PyEval_SaveThread'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:294: undefined reference to `PyEval_RestoreThread'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:307: undefined reference to `PyString_FromStringAndSize'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:302: undefined reference to `PyExc_SystemError'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:302: undefined reference to `PyErr_SetString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:297: undefined reference to `_Py_NoneStruct'
.libs/pyzmq.o: In function `socket_flush(socket_t*, _object*, _object*)':
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:263: undefined reference to `PyArg_ParseTupleAndKeywords'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:274: undefined reference to `_Py_NoneStruct'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:270: undefined reference to `PyExc_SystemError'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:270: undefined reference to `PyErr_SetString'
.libs/pyzmq.o: In function `socket_send(socket_t*, _object*, _object*)':
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:227: undefined reference to `PyArg_ParseTupleAndKeywords'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:234: undefined reference to `PyString_Size'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:240: undefined reference to `PyString_AsString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:242: undefined reference to `PyEval_SaveThread'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:244: undefined reference to `PyEval_RestoreThread'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:257: undefined reference to `PyBool_FromLong'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:236: undefined reference to `PyExc_SystemError'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:236: undefined reference to `PyErr_SetString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:250: undefined reference to `PyBool_FromLong'
.libs/pyzmq.o: In function `socket_connect(socket_t*, _object*, _object*)':
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:206: undefined reference to `PyArg_ParseTupleAndKeywords'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:218: undefined reference to `_Py_NoneStruct'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:214: undefined reference to `PyExc_SystemError'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:214: undefined reference to `PyErr_SetString'
.libs/pyzmq.o: In function `socket_bind(socket_t*, _object*, _object*)':
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:186: undefined reference to `PyArg_ParseTupleAndKeywords'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:198: undefined reference to `_Py_NoneStruct'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:194: undefined reference to `PyExc_SystemError'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:194: undefined reference to `PyErr_SetString'
.libs/pyzmq.o: In function `socket_setsockopt(socket_t*, _object*, _object*)':
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:140: undefined reference to `PyArg_ParseTupleAndKeywords'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:174: undefined reference to `PyExc_SystemError'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:174: undefined reference to `PyErr_SetString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:165: undefined reference to `PyString_Size'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:165: undefined reference to `PyString_AsString'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:178: undefined reference to `_Py_NoneStruct'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:157: undefined reference to `PyInt_AsLong'
.libs/pyzmq.o: In function `socket_dealloc(socket_t*)':
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:129: undefined reference to `PyExc_SystemError'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:129: undefined reference to `PyErr_SetString'
.libs/pyzmq.o: In function `socket_init(socket_t*, _object*, _object*)':
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:108: undefined reference to `PyArg_ParseTupleAndKeywords'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:117: undefined reference to `PyExc_SystemError'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:117: undefined reference to `PyErr_SetString'
.libs/pyzmq.o: In function `context_dealloc(context_t*)':
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:79: undefined reference to `PyExc_SystemError'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:79: undefined reference to `PyErr_SetString'
.libs/pyzmq.o: In function `context_init(context_t*, _object*, _object*)':
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:58: undefined reference to `PyArg_ParseTupleAndKeywords'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:67: undefined reference to `PyExc_SystemError'
/home/avbidder/0mq/zeromq/bindings/python/pyzmq.cpp:67: undefined reference to `PyErr_SetString'
collect2: ld returned 1 exit status
make[3]: *** [libpyzmq.la] Error 1
make[3]: Leaving directory `/home/avbidder/0mq/zeromq/bindings/python'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/avbidder/0mq/zeromq/bindings'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/avbidder/0mq/zeromq'
make: *** [build-stamp] Error 2
++++
Note the "-lruby1.8". running configure without --with-ruby, the link
command is the same just without -lruby1.8. Adding -lpython2.5 in this
command fixes the issue.
(And another presumably autoconf/automake related bug: as far as I could
see, --without-xxx doesn't work. But that's really minor...)
cheers
-- vbi
--
Verbing weirds language.
-- Calvin & Hobbes
More information about the zeromq-dev
mailing list