7

私は EC2 に AMI をまとめようとしていますが、現在 0mq の構築で行き詰まっています。

最初は、./configure の実行中にこのエラーが発生しました

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

e2fsprogs-devel と linux-utils を yum 経由でインストールしました。これには必要なライブラリが含まれていると思いますが、それでも上記のエラーが発生します。その後、yum を使用して uuid-devel をインストールしましたが、それ以上はできませんでした。

次に、以下のようにリンクを作成しました。

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

私はこの時点でかなり困惑しています。

4

3 に答える 3

19

https://bugzilla.redhat.com/show_bug.cgi?id=576296#c0で指摘されているように、uuid-develの代わりにlibuuid-develを使用します。

$ sudo yum install libuuid-devel

これにより、不足している/usr/include/uuid/uuid.hファイルが解決されました。

于 2011-09-10T02:45:58.600 に答える
7

最終的に、実行して依存関係を満たしました

$ yum install uuid-devel

また、注目に値するのは、libzmq を後で必要とする他のプログラム (Mongrel2 など) にリンクさせるには、次の行を追加する必要があったことです。

/usr/local/lib

/etc/ldconfig.so.conf に移動して実行します

$ ldconfig -v | grep zmq

(出力に libzmq.so のエントリが表示されない場合は、何かがおかしいのです)

于 2011-08-05T00:05:57.030 に答える
0

または、 zeromq のインストールに関するドキュメントをお読みください。:)

すなわち

libtoolautoconfautomakeがインストールされていることを確認してください。システムに uuid-dev パッケージ、uuid/e2fsprogs RPM、または同等のものがインストールされているかどうかを確認します。.tar.gz ソース アーカイブを解凍します。を実行./configureし、続いてmake. ØMQ をシステム全体にインストールするには、 を実行しますsudo make install。Linux では、sudo ldconfigØMQ をインストールした後に実行します。

前述のように、Amazon Linux では、次のようにして deps をインストールします。

sudo yum install uuid uuid-devel

NB の指示には、次のことを行う必要があることも記載されています。

sudo ldconfig

インストール後も。

于 2012-08-25T00:52:38.937 に答える