A Ruby FFI binding for the Apache ZooKeeper C API library.
Work in progress. Most major operations are implemented and working, but ACL get/set is not finished.
Platform-specific status as follows:
-
MRI 1.9.1 OSX 10.5 and 10.6: working
-
MRI Solaris 5.11: build env problems, more?
-
MRI BSD: untested
-
MRI Linux: untested
-
JRuby 1.4.0: working, but contexts passed to async calls are getting munged…low priority but should be simple to fix
To do: github.com/ce/ruby-zookeeper/issues
Also note progress and status in issues.apache.org/jira/browse/ZOOKEEPER-661.
-
ruby-ffi: github.com/ffi/ffi/
ruby-zookeeper is currently NOT packaged, and requires patches to the ZooKeeper multithreaded C API library. The patched source is included in zk/src/c.
To build ZK C API libs (include-dir and lib-dir paths are correct on my system OSX+MacPorts, YMMV):
$ cd zk/src/c $ autoreconf -f -i $ ./configure --enable-ruby \ --with-ruby-include-dir=/opt/local/include/ruby-1.9.1 \ --with-ruby-lib-dir=/opt/local/lib $ gmake
To run (e.g. specs):
$ ZOOKEEPER_LIB=zk/src/c/.libs/libzookeeper_mt.dylib spec . -cfn