[zeromq-dev] problems building on GNU+Linux
Martin Lucina
mato at kotelna.sk
Fri Nov 5 12:51:17 CET 2010
Hi Marco,
marco.maggi-ipsu at poste.it said:
> I am new to 0MQ; I am trying to build it with the final
> purpose of writing a language binding; my platform is a
> i686-pc-linux-gnu, Slackware Linux, GCC 4.5.0. I want to
> signal a couple of problems.
>
> The README file coming with "zeromq-2.0.10.tar.gz" refers
> to an INSTALL file which is not in the distribution, so I am
> trying to make the instructions at [1] be enough for me.
Yeah, sorry about the missing INSTALL file, this is a known problem.
INSTALL is just boilerplate docs for configure at the moment anyway, it'll
be fixed in the next release.
> While running "configure" the UUID library is recognised
> but while compiling I get the error:
>
> libtool: link: g++ -g -O2 -o .libs/local_lat local_lat.o ../src/.libs/libzmq.so /usr/local/lib/libuuid.so -lpthread
> ../src/.libs/libzmq.so: undefined reference to `uuid_generate'
> ../src/.libs/libzmq.so: undefined reference to `uuid_unparse'
> collect2: ld returned 1 exit status
>
> I have installed OSSP UUID[2] from source under
> "/usr/local" and it comes with both "uuid.h" and
> "libuuid.so"; I gather that this is not the library 0MQ
> wants, but nevertheless the Autoconf test picks it up: it is
Right, so autoconf picked up a libuuid in /usr/local, but that's not the
one we want.
> not specific enough. I see in "configure.in" that the test
> looks for "main" while the test for Cygwin looks for
> "uuid_generate": looking for this function on Linux, too,
> should work.
Good point.
If you change configure.in to look for "uuid_generate" instead of "main"
and re-run autogen.sh, then configure again, does it use the correct
libuuid?
> I also have a "uuid.h" and "libuuid.so" under "/usr"; the
> header file attributes the copyright to Theodore Ts'o, and
> on Slackware it comes in the util-linux-ng package[3]; it
> looks like this is the needed library, yes? To make 0MQ
> find it I have to compile with:
>
> $ ./configure \
> CPPFLAGS=-I/usr/include \
> LDFLAGS=-L/usr/lib
>
> maybe this conflict can be documented somewhere?
This is indeed the correct library; can you try my suggestion above and let
me know if it actually works?
Alternatively, if you uninstall the OSSP libuuid (assuming you don't need
it for something else), does configure pick up the correct libuuid?
Thanks,
-mato
More information about the zeromq-dev
mailing list