brew install zeromq32
从目前的实践来看,zero 的最新稳定版本为 4.1.x,但是在实践过程中发现这个最新版本似乎和 mac、ruby 的环境有一定的不吻合,原因自己也没有弄清楚。在查找问题的过程中发现,其他的开发者也遇到的同样的问题,目前我采用的解决方式是选择低版本的 zeromq。在 github 有人已经报告了这个问题,链接地址
gem install ffi-rzmq
安装完成后,可以参考 github 中给出的例子进行测试,示例
ruby(52657,0x10969d000) malloc: *** error for object 0x7fa5eb4bb6b8: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6
这个可能是 gem 的 C 扩展中发生的错误,但并不确定,在其他情况下也可能发生上述的错误,从输出的语义来看应该是请求了一个已经被析构的对象。
Bad address (src/fq.cpp:91)
Abort trap: 6
这个是我对测试代码做了一点点修改后出现的提示错误,正是用这条提示错误找到了上面说的 github 中报告的问题,并把 zeromq 的版本降到了 3.2。 在将 zeromq 的版本降到 3.2 后,上面例子链接中的示例就可以正常运行了(并没有测试所有的示例)。