Проблема установки zmq на Amazon Linux (не удается найти UUID) - PullRequest
6 голосов
/ 05 августа 2011

Я пытаюсь собрать AMI на EC2, и в настоящее время я застрял при сборке 0mq.

Первоначально я получил эту ошибку во время работы ./configure

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

Iустановил e2fsprogs-devel и linux-utils через yum, который, как мне кажется, содержал необходимую библиотеку, но все равно получил ошибку выше.Впоследствии я установил uuid-devel с помощью yum и больше ничего не получил.

Затем я создал ссылку, как показано ниже:

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

и теперь ./configure завершается успешно, но я получаю ошибкукогда я запускаю make

[...]
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

Ниже приведено начало /usr/include/uuid.h, если это полезно.

#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

На данный момент я довольно озадачен,

Ответы [ 3 ]

19 голосов
/ 10 сентября 2011

Как указано на https://bugzilla.redhat.com/show_bug.cgi?id=576296#c0,, используйте libuuid-devel вместо uuid-devel,

$ sudo yum install libuuid-devel

Это разрешило мне отсутствующий файл /usr/include/uuid/uuid.h.

7 голосов
/ 05 августа 2011

в конечном счете, я удовлетворил зависимость, запустив

$ yum install uuid-devel

, также стоит отметить, что для получения libzmq для связи с другими программами, которые нуждались в ней (например, Mongrel2), мне пришлосьдобавьте строку

/usr/local/lib

в /etc/ldconfig.so.conf и запустите

$ ldconfig -v | grep zmq

(если вы не видите запись для libzmq.so в выводе, что-товыкл)

0 голосов
/ 25 августа 2012

Либо прочитайте документацию об установке zeromq! :)

т.е.

Убедитесь, что установлены libtool, autoconf, automake. Проверьте, установлен ли в вашей системе пакет uuid-dev, RPM uuid / e2fsprogs или аналогичный. Распакуйте исходный архив .tar.gz. Запустите ./configure, а затем make. Для установки ØMQ для всей системы запустите sudo make install. В Linux запустите sudo ldconfig после установки ØMQ.

Как уже упоминалось, в Amazon Linux вы можете установить deps, выполнив:

sudo yum install uuid uuid-devel

N.B. В инструкциях также упоминается требование:

sudo ldconfig

после установки тоже.

...