Próbuję połączyć AMI na EC2, a obecnie utknąłem na budowaniu 0mq.Problem z instalacją zmq na amazon linux (nie można znaleźć uuid)
początkowo, mam ten błąd podczas uruchamiania ./configure
checking for uuid_generate in -luuid... no
configure: error: cannot link with -luuid, install uuid-dev.
zainstalowaniu e2fsprogs-devel i linux-utils poprzez yum, które moim zdaniem zawarte wymaganą bibliotekę, ale wciąż mam błąd powyżej. Następnie zainstalowałem uuid-devel z yum i nie mam już więcej.
Potem stworzyliśmy link poniżej:
sudo ln -s /lib64/libuuid.so.1.3.0 /lib64/libuuid.so
i teraz ./configure kończy się szczęśliwie, ale pojawia się błąd, gdy biegnę zrobić
[...]
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
Poniżej jest początkiem /usr/include/uuid.h, jeśli jest to przydatne.
#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
Jestem dość dobrze zaskoczony w tym momencie.
Powszechnie potrzeba pakietu -devel (lub -dev na systemach Debian) podczas budowania czegoś, a nie po prostu instalowania plików binarnych. Pakiety te są prawie zawsze nazywane tak samo jak pakiet binarny z -devel lub -dev dodanym do nazwy. –