mysql2 gem install Mavericks-Collection of common programming errors


  • Mike

    Trying to install mysql2 on 10.9 is a nightmare. Any help would be greatly appreciated.

    Running Ruby 2.0.0 p247. Xcode, command line tools and mysql client are installed.

    Heres the terminal output:

    gem install mysql2 -v 0.3.13
    
    
    Building native extensions.  This could take a while...
    ERROR:  Error installing mysql2:
        ERROR: Failed to build gem native extension.
    
        /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb
    checking for rb_thread_blocking_region()... yes
    checking for rb_wait_for_single_fd()... yes
    checking for rb_hash_dup()... yes
    checking for rb_intern3()... yes
    checking for mysql.h... yes
    checking for errmsg.h... yes
    checking for mysqld_error.h... yes
    creating Makefile
    
    make "DESTDIR="
    compiling client.c
    In file included from client.c:1:
    In file included from ./mysql2_ext.h:8:
    In file included from /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby.h:33:
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:121:37: error: 'ruby_check_sizeof_long' declared as an array with a negative size
    typedef char ruby_check_sizeof_long[SIZEOF_LONG == sizeof(long) ? 1 : -1];
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:49:21: note: expanded from macro 'SIZEOF_LONG'
    #define SIZEOF_LONG 8
                        ^
    In file included from client.c:1:
    In file included from ./mysql2_ext.h:8:
    In file included from /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby.h:33:
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:125:38: error: 'ruby_check_sizeof_voidp' declared as an array with a negative size
    typedef char ruby_check_sizeof_voidp[SIZEOF_VOIDP == sizeof(void*) ? 1 : -1];
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:53:22: note: expanded from macro 'SIZEOF_VOIDP'
    #define SIZEOF_VOIDP 8
                         ^
    In file included from client.c:1:
    In file included from ./mysql2_ext.h:8:
    In file included from /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby.h:33:
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:773:21: warning: shift count >= width of type [-Wshift-count-overflow]
                VALUE b63 = (v >> 63);
                               ^  ~~
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:805:13: warning: comparison of constant 3458764513820540928 with expression of type 'VALUE' (aka 'unsigned long') is always true [-Wtautological-constant-out-of-range-compare]
        if (t.v != 0x3000000000000000 /* 1.72723e-77 */ &&
            ~~~ ^  ~~~~~~~~~~~~~~~~~~
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:799:30: warning: shift count >= width of type [-Wshift-count-overflow]
        bits = (int)((VALUE)(t.v >> 60) & 0x7);
                                 ^  ~~
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:812:13: warning: implicit conversion from 'unsigned long long' to 'VALUE' (aka 'unsigned long') changes value from 9223372036854775810 to 2 [-Wconstant-conversion]
                return 0x8000000000000002;
                ~~~~~~ ^~~~~~~~~~~~~~~~~~
    In file included from client.c:1:
    In file included from ./mysql2_ext.h:8:
    In file included from /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby.h:33:
    In file included from /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:1568:
    In file included from /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:43:
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/st.h:67:45: error: 'st_check_for_sizeof_st_index_t' declared as an array with a negative size
    typedef char st_check_for_sizeof_st_index_t[SIZEOF_VOIDP == (int)sizeof(st_index_t) ? 1 : -1];
                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:53:22: note: expanded from macro 'SIZEOF_VOIDP'
    #define SIZEOF_VOIDP 8
                         ^
    client.c:295:8: warning: 'rb_thread_blocking_region' is deprecated [-Wdeprecated-declarations]
      rv = rb_thread_blocking_region(nogvl_connect, &args, RUBY_UBF_IO, 0);
           ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:839:18: note: 'rb_thread_blocking_region' declared here
    DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func, void *data1,
                     ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:92:52: note: expanded from macro 'DEPRECATED'
    #define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                       ^
    client.c:299:12: warning: 'rb_thread_blocking_region' is deprecated [-Wdeprecated-declarations]
          rv = rb_thread_blocking_region(nogvl_connect, &args, RUBY_UBF_IO, 0);
               ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:839:18: note: 'rb_thread_blocking_region' declared here
    DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func, void *data1,
                     ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:92:52: note: expanded from macro 'DEPRECATED'
    #define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                       ^
    client.c:319:5: warning: 'rb_thread_blocking_region' is deprecated [-Wdeprecated-declarations]
        rb_thread_blocking_region(nogvl_close, wrapper, RUBY_UBF_IO, 0);
        ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:839:18: note: 'rb_thread_blocking_region' declared here
    DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func, void *data1,
                     ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:92:52: note: expanded from macro 'DEPRECATED'
    #define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                       ^
    client.c:342:7: warning: 'rb_thread_blocking_region' is deprecated [-Wdeprecated-declarations]
      if (rb_thread_blocking_region(nogvl_send_query, args, RUBY_UBF_IO, 0) == Qfalse) {
          ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:839:18: note: 'rb_thread_blocking_region' declared here
    DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func, void *data1,
                     ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:92:52: note: expanded from macro 'DEPRECATED'
    #define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                       ^
    client.c:405:7: warning: 'rb_thread_blocking_region' is deprecated [-Wdeprecated-declarations]
      if (rb_thread_blocking_region(nogvl_read_query_result, wrapper->client, RUBY_UBF_IO, 0) == Qfalse) {
          ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:839:18: note: 'rb_thread_blocking_region' declared here
    DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func, void *data1,
                     ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:92:52: note: expanded from macro 'DEPRECATED'
    #define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                       ^
    client.c:413:27: warning: 'rb_thread_blocking_region' is deprecated [-Wdeprecated-declarations]
        result = (MYSQL_RES *)rb_thread_blocking_region(nogvl_use_result, wrapper, RUBY_UBF_IO, 0);
                              ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:839:18: note: 'rb_thread_blocking_region' declared here
    DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func, void *data1,
                     ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:92:52: note: expanded from macro 'DEPRECATED'
    #define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                       ^
    client.c:415:27: warning: 'rb_thread_blocking_region' is deprecated [-Wdeprecated-declarations]
        result = (MYSQL_RES *)rb_thread_blocking_region(nogvl_store_result, wrapper, RUBY_UBF_IO, 0);
                              ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:839:18: note: 'rb_thread_blocking_region' declared here
    DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func, void *data1,
                     ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:92:52: note: expanded from macro 'DEPRECATED'
    #define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                       ^
    client.c:544:27: warning: 'rb_thread_blocking_region' is deprecated [-Wdeprecated-declarations]
        result = (MYSQL_RES *)rb_thread_blocking_region(nogvl_store_result, wrapper, RUBY_UBF_IO, 0);
                              ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:839:18: note: 'rb_thread_blocking_region' declared here
    DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func, void *data1,
                     ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:92:52: note: expanded from macro 'DEPRECATED'
    #define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                       ^
    client.c:885:7: warning: 'rb_thread_blocking_region' is deprecated [-Wdeprecated-declarations]
      if (rb_thread_blocking_region(nogvl_select_db, &args, RUBY_UBF_IO, 0) == Qfalse)
          ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:839:18: note: 'rb_thread_blocking_region' declared here
    DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func, void *data1,
                     ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:92:52: note: expanded from macro 'DEPRECATED'
    #define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                       ^
    client.c:911:12: warning: 'rb_thread_blocking_region' is deprecated [-Wdeprecated-declarations]
        return rb_thread_blocking_region(nogvl_ping, wrapper->client, RUBY_UBF_IO, 0);
               ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:839:18: note: 'rb_thread_blocking_region' declared here
    DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func, void *data1,
                     ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:92:52: note: expanded from macro 'DEPRECATED'
    #define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                       ^
    client.c:963:25: warning: 'rb_thread_blocking_region' is deprecated [-Wdeprecated-declarations]
      result = (MYSQL_RES *)rb_thread_blocking_region(nogvl_store_result, wrapper, RUBY_UBF_IO, 0);
                            ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:839:18: note: 'rb_thread_blocking_region' declared here
    DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func, void *data1,
                     ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:92:52: note: expanded from macro 'DEPRECATED'
    #define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                       ^
    client.c:1091:7: warning: 'rb_thread_blocking_region' is deprecated [-Wdeprecated-declarations]
      if (rb_thread_blocking_region(nogvl_init, wrapper->client, RUBY_UBF_IO, 0) == Qfalse) {
          ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:839:18: note: 'rb_thread_blocking_region' declared here
    DEPRECATED(VALUE rb_thread_blocking_region(rb_blocking_function_t *func, void *data1,
                     ^
    /Users/mike.simmonds/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.3.0/ruby/config.h:92:52: note: expanded from macro 'DEPRECATED'
    #define DEPRECATED(x) __attribute__ ((deprecated)) x
                                                       ^
    16 warnings and 3 errors generated.
    make: *** [client.o] Error 1