2013-02-08 2 views
2

Установлен zmq через доморощенный.Установка zmq gem на Mountain Lion

Затем попытался бежать:

$ sudo gem install zmq -- --with-zmq-dir=/usr/local 
Building native extensions. This could take a while... 
ERROR: Error installing zmq: 
    ERROR: Failed to build gem native extension. 

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb --with-zmq-dir=/usr/local 
checking for zmq.h... yes 
checking for zmq_init() in -lzmq... no 
checking for zmq_init() in -lzmq... no 
extconf.rb:36: Couldn't find zmq library. try setting --with-zmq-dir=<path> to tell me where it is. (RuntimeError) 


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/zmq-2.1.4 for inspection. 
Results logged to /Library/Ruby/Gems/1.8/gems/zmq-2.1.4/gem_make.out 

Есть идеи?

+0

Что говорит доктор варева? – rainkinz

+0

Также вы попробовали: ARCHFLAGS = "- arch x86_64" gem install zmq - --with-zmq-dir =/usr/local – rainkinz

+0

Я не думаю, что zmq gem фактически совместим с текущим zeromq. Я думаю, вам нужно использовать 'ffi-rzmq' для libzmq> = 3.0. – minrk

ответ

2

Без системной библиотеки ZeroMQ у драгоценного камня zmq нет надежды на компиляцию. Если вы используете Homebrew, это простой процесс, хотя:

brew install zeromq 

Если вы уже сделали это, но это не может быть найден, возможно, ваш компилятор не находит библиотеку ZeroMQ. Вы захотите найти его с помощью find /usr -name 'libzmq*' и посмотреть, где он скрывается. Он может быть в другом каталоге, кроме /usr/local/lib.

0

В дополнение к --with-zmq-dir=/usr/local, попробуйте добавить --with-zmq-lib=/usr/local/lib и --with-zmq-include=/usr/local/include в команду установки gem. Обычно просто --with-zmq-dir должно быть достаточно, но это не похоже на этот камень.

4

Проблема в том, что the current gem does not work with 3.x.x.
Однако вы можете установить ZeroMQ 2.2.0 с помощью brew install zeromq22, после этого драгоценный камень будет устанавливать только штраф.

2
$ brew install zeromq22 
$ gem install zmq -- --with-zmq-dir=/usr/local/opt/zeromq22