2011-08-04 62 views
6

Tôi đang cố gắng kết hợp AMI trên EC2 và hiện đang bị trì hoãn khi xây dựng 0mq.Sự cố khi cài đặt zmq trên amazon linux (không thể tìm thấy uuid)

ban đầu, tôi đã nhận lỗi này khi chạy ./configure

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

Tôi đã cài đặt e2fsprogs-devel và linux-utils qua yum, mà tôi tin rằng chứa các thư viện cần thiết, nhưng vẫn có những lỗi trên. Sau đó tôi đã cài đặt uuid-devel với yum và không còn nữa.

Sau đó, tôi tạo ra một liên kết như sau:

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

và bây giờ ./configure hoàn thành hạnh phúc, nhưng tôi nhận được một lỗi khi tôi chạy 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 

Sau đây là sự khởi đầu của /usr/include/uuid.h, nếu đó là hữu ích.

#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 

Tôi khá nổi bật vào thời điểm này.

Trả lời

7

cuối cùng, tôi hài lòng phụ thuộc bằng cách chạy

$ yum install uuid-devel 

cũng đáng chú ý là để có được libzmq để liên kết vào các chương trình khác mà cần nó xuống dòng (Mongrel2, ví dụ), tôi đã có thêm dòng

/usr/local/lib 

để /etc/ldconfig.so.conf và chạy

$ ldconfig -v | grep zmq 

(i f bạn không nhìn thấy một mục nhập cho libzmq.so trong đầu ra, một cái gì đó của off)

+2

Thông thường, bạn cần gói -devel (hoặc -dev trên hệ thống Debian) khi bạn đang xây dựng thứ gì đó, thay vì chỉ cài đặt các tệp nhị phân. Các gói này hầu như luôn được đặt tên giống như gói nhị phân với -devel hoặc -dev được thêm vào tên. –

0

Cách khác, hãy đọc documentation khi cài đặt zeromq! :)

ví dụ:

Hãy chắc chắn rằng libtool, autoconf, automake được cài đặt. Kiểm tra xem gói uuid-dev, uuid/e2fsprogs RPM hoặc tương đương trên hệ thống của bạn đã được cài đặt chưa. Mở gói lưu trữ nguồn .tar.gz. Chạy ./configure, theo sau là make. Để cài đặt ØMQ toàn hệ thống chạy sudo make install. Trên Linux, chạy sudo ldconfig sau khi cài đặt ØMQ.

Như đã đề cập, trên Amazon Linux, bạn có muốn cài đặt DEPS bằng cách thực hiện:

sudo yum install uuid uuid-devel 

N.B.các hướng dẫn cũng đề cập đến yêu cầu phải làm:

sudo ldconfig 

sau khi cài đặt quá.

Các vấn đề liên quan