IRubyをインストールする(2)

czmq, libzmqを別にビルドした方が早いかも、とどみとりさんに助言いただいたので、そういう方向で。

なんとパッケージがあったのでそれを入れる。

$ pkg install czmq

libzmq4が勝手に入った。あれ、3が要るんだっけ?
ext/rbczmq/extconf.rbの該当部分を消して、rakeしてみるがエラー。はて? あー、/usr/local/includeを見てくれてないのか。適当な場所に

$INCFLAGS << "-I/usr/local/include"

を書いてもっかい。

wave# rake               
(in /usr/home/murashin/github/rbczmq)
cd tmp/amd64-freebsd11/rbczmq_ext/2.1.7
/usr/local/bin/ruby21 -I. ../../../../ext/rbczmq/extconf.rb
checking for ruby/thread.h... yes
checking for rb_thread_blocking_region()... yes
checking for rb_thread_call_without_gvl()... yes
checking for sodium.h in /usr/home/murashin/github/rbczmq/ext/libsodium/include... yes
checking for zmq.h in /usr/home/murashin/github/rbczmq/ext/zeromq/include... yes
checking for czmq.h in /usr/home/murashin/github/rbczmq/ext/czmq/include... yes
checking for main() in -lsodium... yes
checking for main() in -lzmq... yes
checking for main() in -lczmq... yes
checking for main() in -lm... yes
creating Makefile
cd -
cd tmp/amd64-freebsd11/rbczmq_ext/2.1.7
gmake
compiling ../../../../ext/rbczmq/rbczmq_ext.c
../../../../ext/rbczmq/rbczmq_ext.c:116:16: warning: format string is not a
      string literal (potentially insecure) [-Wformat-security]
    zclock_log(StringValueCStr(msg));
               ^~~~~~~~~~~~~~~~~~~~
/usr/local/include/ruby-2.1/ruby/ruby.h:541:28: note: expanded from macro
      'StringValueCStr'
#define StringValueCStr(v) rb_string_value_cstr(&(v))
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../ext/rbczmq/rbczmq_ext.c:226:15: warning: 
      'rb_thread_blocking_region' is deprecated [-Wdeprecated-declarations]
    rc = (int)rb_thread_call_without_gvl(rb_czmq_m_proxy_nogvl, (void *)...
              ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
2 warnings generated.
compiling ../../../../ext/rbczmq/poller.c
../../../../ext/rbczmq/poller.c:151:17: warning: comparison of unsigned
      expression < 0 is always false [-Wtautological-compare]
    if (timeout < 0) timeout = -1;
        ~~~~~~~ ^ ~
../../../../ext/rbczmq/poller.c:160:15: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    rc = (int)rb_thread_call_without_gvl(rb_czmq_nogvl_poll, (void *)&ar...
              ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
2 warnings generated.
compiling ../../../../ext/rbczmq/pollitem.c
compiling ../../../../ext/rbczmq/context.c
../../../../ext/rbczmq/context.c:57:5: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    rb_thread_call_without_gvl(rb_czmq_nogvl_zctx_destroy, (void *)ctx, ...
    ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/context.c:94:43: warning: comparison between pointer and
      integer ('VALUE' (aka 'unsigned long') and 'void *')
    if (socket == NULL || socket->context == NULL) {
                          ~~~~~~~~~~~~~~~ ^  ~~~~
../../../../ext/rbczmq/context.c:111:17: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
                rb_thread_call_without_gvl(rb_czmq_nogvl_zsocket_destroy...
                ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/context.c:193:25: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    ctx->ctx = (zctx_t*)rb_thread_call_without_gvl(rb_czmq_nogvl_zctx_ne...
                        ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/context.c:390:14: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    socket = rb_thread_call_without_gvl(rb_czmq_nogvl_socket_new, (void ...
             ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/context.c:390:12: warning: incompatible integer to
      pointer conversion assigning to 'void *' from 'VALUE'
      (aka 'unsigned long') [-Wint-conversion]
  ...= rb_thread_call_without_gvl(rb_czmq_nogvl_socket_new, (void *)&args, RUBY_UBF_IO, 0);
     ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6 warnings generated.
compiling ../../../../ext/rbczmq/frame.c
../../../../ext/rbczmq/frame.c:320:12: warning: shifting a negative signed value
      is undefined [-Wshift-negative-value]
    return INT2NUM(-1);
           ^~~~~~~~~~~
/usr/local/include/ruby-2.1/ruby/ruby.h:1277:21: note: expanded from macro
      'INT2NUM'
# define INT2NUM(v) INT2FIX((int)(v))
                    ^~~~~~~~~~~~~~~~~
/usr/local/include/ruby-2.1/ruby/ruby.h:231:48: note: expanded from macro
      'INT2FIX'
#define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
                            ~~~~~~~~~~~~~~~~~~~^
1 warning generated.
compiling ../../../../ext/rbczmq/loop.c
../../../../ext/rbczmq/loop.c:51:33: warning: incompatible pointer types passing
      'int (zloop_t *, zmq_pollitem_t *, void *)' to parameter of type
      'zloop_timer_fn *' (aka 'int (*)(zloop_t *, int, void *)')
      [-Wincompatible-pointer-types]
        zloop_timer(loop, 1, 1, rb_czmq_loop_breaker_callback, (void *)args[0]);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/zloop.h:85:76: note: passing argument to parameter 'handler'
      here
  ...(zloop_t *self, size_t delay, size_t times, zloop_timer_fn handler, voi...
                                                                ^
../../../../ext/rbczmq/loop.c:59:33: warning: incompatible pointer types passing
      'int (zloop_t *, zmq_pollitem_t *, void *)' to parameter of type
      'zloop_timer_fn *' (aka 'int (*)(zloop_t *, int, void *)')
      [-Wincompatible-pointer-types]
        zloop_timer(loop, 1, 1, rb_czmq_loop_breaker_callback, (void *)args[0]);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/zloop.h:85:76: note: passing argument to parameter 'handler'
      here
  ...(zloop_t *self, size_t delay, size_t times, zloop_timer_fn handler, voi...
                                                                ^
../../../../ext/rbczmq/loop.c:92:25: warning: incompatible pointer to integer
      conversion passing 'void *' to parameter of type 'int' [-Wint-conversion]
                zloop_timer_end(loop, (void *)cb);
                                      ^~~~~~~~~~
/usr/local/include/zloop.h:90:41: note: passing argument to parameter 'timer_id'
      here
    zloop_timer_end (zloop_t *self, int timer_id);
                                        ^
../../../../ext/rbczmq/loop.c:302:35: warning: incompatible pointer types
      passing 'int (zloop_t *, zmq_pollitem_t *, void *)' to parameter of type
      'zloop_timer_fn *' (aka 'int (*)(zloop_t *, int, void *)')
      [-Wincompatible-pointer-types]
    zloop_timer(loop->loop, 1, 1, rb_czmq_loop_started_callback, loop);
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/zloop.h:85:76: note: passing argument to parameter 'handler'
      here
  ...(zloop_t *self, size_t delay, size_t times, zloop_timer_fn handler, voi...
                                                                ^
../../../../ext/rbczmq/loop.c:304:15: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    rc = (int)rb_thread_call_without_gvl(rb_czmq_loop_start_nogvl, (voi...
              ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/loop.c:335:35: warning: incompatible pointer types
      passing 'int (zloop_t *, zmq_pollitem_t *, void *)' to parameter of type
      'zloop_timer_fn *' (aka 'int (*)(zloop_t *, int, void *)')
      [-Wincompatible-pointer-types]
    zloop_timer(loop->loop, 1, 1, rb_czmq_loop_breaker_callback, loop);
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/zloop.h:85:76: note: passing argument to parameter 'handler'
      here
  ...(zloop_t *self, size_t delay, size_t times, zloop_timer_fn handler, voi...
                                                                ^
../../../../ext/rbczmq/loop.c:474:62: warning: incompatible pointer types
      passing 'int (zloop_t *, zmq_pollitem_t *, void *)' to parameter of type
      'zloop_timer_fn *' (aka 'int (*)(zloop_t *, int, void *)')
      [-Wincompatible-pointer-types]
  ...timer->delay, timer->times, rb_czmq_loop_timer_callback, (void *)tm);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/zloop.h:85:76: note: passing argument to parameter 'handler'
      here
  ...(zloop_t *self, size_t delay, size_t times, zloop_timer_fn handler, voi...
                                                                ^
../../../../ext/rbczmq/loop.c:500:38: warning: incompatible pointer to integer
      conversion passing 'void *' to parameter of type 'int' [-Wint-conversion]
    rc = zloop_timer_end(loop->loop, (void *)tm);
                                     ^~~~~~~~~~
/usr/local/include/zloop.h:90:41: note: passing argument to parameter 'timer_id'
      here
    zloop_timer_end (zloop_t *self, int timer_id);
                                        ^
8 warnings generated.
compiling ../../../../ext/rbczmq/timer.c
compiling ../../../../ext/rbczmq/socket.c
../../../../ext/rbczmq/socket.c:24:147: warning: format specifies type 'void *'
      but the argument has type 'zmq_sock_wrapper *' [-Wformat-pedantic]
  ...%p, context %p: GC mark", sock->flags & ZMQ_SOCKET_DESTROYED ? "(closed)" : zsocket_type_str(sock->socket), sock...
     ~~                                                                                                          ^~~~
../../../../ext/rbczmq/socket.c:24:153: warning: format specifies type 'void *'
      but the argument has type 'zctx_t *' (aka 'struct _zctx_t *')
      [-Wformat-pedantic]
  ...%p: GC mark", sock->flags & ZMQ_SOCKET_DESTROYED ? "(closed)" : zsocket_type_str(sock->socket), sock, sock->ctx);
     ~~                                                                                                    ^~~~~~~~~
../../../../ext/rbczmq/socket.c:45:147: warning: format specifies type 'void *'
      but the argument has type 'zmq_sock_wrapper *' [-Wformat-pedantic]
  ...%p, context %p: GC free", sock->flags & ZMQ_SOCKET_DESTROYED ? "(closed)" : zsocket_type_str(sock->socket), sock...
     ~~                                                                                                          ^~~~
../../../../ext/rbczmq/socket.c:45:153: warning: format specifies type 'void *'
      but the argument has type 'zctx_t *' (aka 'struct _zctx_t *')
      [-Wformat-pedantic]
  ...%p: GC free", sock->flags & ZMQ_SOCKET_DESTROYED ? "(closed)" : zsocket_type_str(sock->socket), sock, sock ? sock->ctx : NULL);
     ~~                                                                                                    ^~~~~~~~~~~~~~~~~~~~~~~
../../../../ext/rbczmq/socket.c:156:93: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
  ...|| sock->state == ZMQ_SOCKET_DISCONNECTED) return INT2NUM(-1);
                                                       ^~~~~~~~~~~
/usr/local/include/ruby-2.1/ruby/ruby.h:1277:21: note: expanded from macro
      'INT2NUM'
# define INT2NUM(v) INT2FIX((int)(v))
                    ^~~~~~~~~~~~~~~~~
/usr/local/include/ruby-2.1/ruby/ruby.h:231:48: note: expanded from macro
      'INT2FIX'
#define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
                            ~~~~~~~~~~~~~~~~~~~^
../../../../ext/rbczmq/socket.c:214:15: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    rc = (int)rb_thread_call_without_gvl(rb_czmq_nogvl_socket_bind, (voi...
              ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/socket.c:223:86: warning: format specifies type 'void *'
      but the argument has type 'VALUE' (aka 'unsigned long') [-Wformat]
  ...("I: %s socket %p: bound \"%s\"", zsocket_type_str(sock->socket), obj, e...
                    ~~                                                 ^~~
                    %lu
../../../../ext/rbczmq/socket.c:221:5: warning: comparison of constant -1 with
      boolean expression is always false
      [-Wtautological-constant-out-of-range-compare]
    ZmqAssert(endpoint_string != NULL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../ext/rbczmq/rbczmq_ext.h:31:12: note: expanded from macro 'ZmqAssert'
    if (rc == -1) { \
        ~~ ^  ~~
../../../../ext/rbczmq/socket.c:221:5: warning: comparison of constant 12 with
      boolean expression is always false
      [-Wtautological-constant-out-of-range-compare]
    ZmqAssert(endpoint_string != NULL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../ext/rbczmq/rbczmq_ext.h:32:16: note: expanded from macro 'ZmqAssert'
        if (rc == ENOMEM) rb_memerror(); \
            ~~ ^  ~~~~~~
../../../../ext/rbczmq/socket.c:255:15: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    rc = (int)rb_thread_call_without_gvl(rb_czmq_nogvl_socket_connect, (...
              ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/socket.c:261:90: warning: format specifies type 'void *'
      but the argument has type 'VALUE' (aka 'unsigned long') [-Wformat]
  ...%s socket %p: connected \"%s\"", zsocket_type_str(sock->socket), obj, en...
               ~~                                                     ^~~
               %lu
../../../../ext/rbczmq/socket.c:259:5: warning: comparison of constant -1 with
      boolean expression is always false
      [-Wtautological-constant-out-of-range-compare]
    ZmqAssert(endpoint_string != NULL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../ext/rbczmq/rbczmq_ext.h:31:12: note: expanded from macro 'ZmqAssert'
    if (rc == -1) { \
        ~~ ^  ~~
../../../../ext/rbczmq/socket.c:259:5: warning: comparison of constant 12 with
      boolean expression is always false
      [-Wtautological-constant-out-of-range-compare]
    ZmqAssert(endpoint_string != NULL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../ext/rbczmq/rbczmq_ext.h:32:16: note: expanded from macro 'ZmqAssert'
        if (rc == ENOMEM) rb_memerror(); \
            ~~ ^  ~~~~~~
../../../../ext/rbczmq/socket.c:309:15: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    rc = (int)rb_thread_call_without_gvl(rb_czmq_nogvl_socket_disconnect...
              ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/socket.c:312:93: warning: format specifies type 'void *'
      but the argument has type 'VALUE' (aka 'unsigned long') [-Wformat]
  ...socket %p: disconnected \"%s\"", zsocket_type_str(sock->socket), obj, St...
            ~~                                                        ^~~
            %lu
../../../../ext/rbczmq/socket.c:363:15: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    rc = (int)rb_thread_call_without_gvl(rb_czmq_nogvl_socket_unbind, (v...
              ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/socket.c:366:88: warning: format specifies type 'void *'
      but the argument has type 'VALUE' (aka 'unsigned long') [-Wformat]
  ...%s socket %p: unbound \"%s\"", zsocket_type_str(sock->socket), obj, Stri...
               ~~                                                   ^~~
               %lu
../../../../ext/rbczmq/socket.c:471:15: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    rc = (int)rb_thread_call_without_gvl(rb_czmq_nogvl_zstr_send, (void ...
              ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/socket.c:474:85: warning: format specifies type 'void *'
      but the argument has type 'VALUE' (aka 'unsigned long') [-Wformat]
  ...("I: %s socket %p: send \"%s\"", zsocket_type_str(sock->socket), obj, St...
                    ~~                                                ^~~
                    %lu
../../../../ext/rbczmq/socket.c:506:15: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    rc = (int)rb_thread_call_without_gvl(rb_czmq_nogvl_zstr_sendm, (voi...
              ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/socket.c:558:19: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    int rc = (int)rb_thread_call_without_gvl(rb_czmq_nogvl_recv, (void *...
                  ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/socket.c:680:15: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    rc = (int)rb_thread_call_without_gvl(rb_czmq_nogvl_send_frame, (voi...
              ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/socket.c:733:5: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    rb_thread_call_without_gvl(rb_czmq_nogvl_send_message, (void *)&args...
    ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/socket.c:777:25: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    frame = (zframe_t *)rb_thread_call_without_gvl(rb_czmq_nogvl_recv_fr...
                        ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/socket.c:855:25: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    message = (zmsg_t *)rb_thread_call_without_gvl(rb_czmq_nogvl_recv_me...
                        ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/socket.c:897:22: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
    readable = (bool)rb_thread_call_without_gvl(rb_czmq_nogvl_poll, (voi...
                     ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
../../../../ext/rbczmq/socket.c:1390:12: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    return INT2NUM(-1);
           ^~~~~~~~~~~
/usr/local/include/ruby-2.1/ruby/ruby.h:1277:21: note: expanded from macro
      'INT2NUM'
# define INT2NUM(v) INT2FIX((int)(v))
                    ^~~~~~~~~~~~~~~~~
/usr/local/include/ruby-2.1/ruby/ruby.h:231:48: note: expanded from macro
      'INT2FIX'
#define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
                            ~~~~~~~~~~~~~~~~~~~^
../../../../ext/rbczmq/socket.c:1554:104: warning: format specifies type
      'void *' but the argument has type 'VALUE' (aka 'unsigned long')
      [-Wformat]
  ...%p: set option \"IDENTITY\" \"%s\"", zsocket_type_str(sock->socket), obj...
     ~~                                                                   ^~~
     %lu
../../../../ext/rbczmq/socket.c:1763:39: error: use of undeclared identifier
      'ZMQ_STREAM_NOTIFY'
    rc = zmq_setsockopt(sock->socket, ZMQ_STREAM_NOTIFY, &optval, sizeof...
                                      ^
../../../../ext/rbczmq/socket.c:1824:19: warning: 'rb_thread_blocking_region' is
      deprecated [-Wdeprecated-declarations]
        rc = (int)rb_thread_call_without_gvl(rb_czmq_nogvl_monitor_recv...
                  ^
../../../../ext/rbczmq/ruby2.h:10:3: note: expanded from macro
      'rb_thread_call_without_gvl'
  rb_thread_blocking_region((rb_blocking_function_t *)func, data1, ubf, data2)
  ^
/usr/local/include/ruby-2.1/ruby/intern.h:870:18: note: 
      'rb_thread_blocking_region' has been explicitly marked deprecated here
DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func...
                 ^
/usr/local/include/ruby-2.1//amd64-freebsd11/ruby/config.h:115:52: note: 
      expanded from macro 'DEPRECATED'
#define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                   ^
29 warnings and 1 error generated.
Makefile:224: ターゲット 'socket.o' のレシピで失敗しました
gmake: *** [socket.o] エラー 1
rake aborted!
Command failed with status (2): [gmake...]

Tasks: TOP => default => test => compile => compile:amd64-freebsd11 => compile:rbczmq_ext:amd64-freebsd11 => copy:rbczmq_ext:amd64-freebsd11:2.1.7 => tmp/amd64-freebsd11/rbczmq_ext/2.1.7/rbczmq_ext.so
(See full trace by running task with --trace)

ZMQ_STREAM_NOTIFYがわからないですか、そうですか...(なんやろこれ)