2011-08-04 8 views
6

Estoy tratando de armar un AMI en EC2, y actualmente estoy atascado en la construcción de 0mq.Problema al instalar zmq en amazon linux (no se puede encontrar uuid)

inicialmente, Tengo este error al ejecutar ./configure

checking for uuid_generate in -luuid... no 
configure: error: cannot link with -luuid, install uuid-dev. 

he instalado e2fsprogs-devel y Linux-utils a través de yum, que creo que contenía la biblioteca necesaria, pero todavía tengo el error anterior. Posteriormente instalé uuid-devel con yum y no obtuve más.

A continuación, he creado un enlace de la siguiente manera:

sudo ln -s /lib64/libuuid.so.1.3.0 /lib64/libuuid.so 

y ahora se completa ./configure feliz, pero me da un error cuando corro hacen

[...] 
CXX libzmq_la-signaler.lo 
CXX libzmq_la-socket_base.lo 
In file included from socket_base.cpp:50: 
uuid.hpp:31:23: error: uuid/uuid.h: No such file or directory 
In file included from socket_base.cpp:50: 
uuid.hpp:92: error: 'uuid_t' in namespace '::' does not name a type 
make[2]: *** [libzmq_la-socket_base.lo] Error 1 
make[2]: Leaving directory `/home/this/infrastructure/zeromq2-2/src' 
make[1]: *** [all] Error 2 
make[1]: Leaving directory `/home/this/infrastructure/zeromq2-2/src' 
make: *** [all-recursive] Error 1 

El siguiente es el comienzo de /usr/include/uuid.h, si eso es útil.

#ifndef __UUID_H__ 
#define __UUID_H__ 

/* workaround conflicts with system headers */ 
#define uuid_t  __vendor_uuid_t 
#define uuid_create __vendor_uuid_create 
#define uuid_compare __vendor_uuid_compare 
#include <sys/types.h> 
#include <unistd.h> 
#undef uuid_t 
#undef uuid_create 
#undef uuid_compare 

Estoy bastante perplejo en este momento.

Respuesta

7

en última instancia, satisfice la dependencia mediante la ejecución de

$ yum install uuid-devel 

también digno de mención es que para obtener libzmq para vincular a los otros programas que lo necesitaban en la línea (Mongrel2, por ejemplo), he tenido que añadir la línea

/usr/local/lib 

a /etc/ldconfig.so.conf y ejecutar

$ ldconfig -v | grep zmq 

(i f no ve una entrada para libzmq.so en la salida, fuera de algo)

+2

Es común necesitar el paquete -devel (o -dev en los sistemas Debian) cuando se está creando algo, en lugar de simplemente instalar los binarios. Estos paquetes casi siempre tienen el mismo nombre que el paquete binario con -devel o -dev agregado en el nombre. –

0

O bien, lea documentation al instalar zeromq! :)

decir

Asegúrese de que libtool, autoconf, automake están instalados. Verifique si el paquete uuid-dev, uuid/e2fsprogs RPM o equivalente en su sistema está instalado. Desempaquetar el archivo fuente .tar.gz. Ejecute ./configure, seguido de make. Para instalar ØMQ en todo el sistema, ejecute sudo make install. En Linux, ejecute sudo ldconfig después de instalar ØMQ.

Como se ha mencionado, en Amazon Linux, que le instala deps haciendo:

sudo yum install uuid uuid-devel 

N. B.las instrucciones también mencionan el requisito de hacer:

sudo ldconfig 

después de la instalación también.

Cuestiones relacionadas