[ 
https://issues.apache.org/jira/browse/ARROW-6809?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Keith Wedinger updated ARROW-6809:
----------------------------------
    Description: 
*System information:*
 * macOS Mojave 10.14.6
 * Ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18] managed via rbenv

*Reproduction steps:*
Run {{gem install red-arrow}}

*Observe:*
The following compilation errors occur during compilation of dependent gem 
glib2 3.3.7:
{{
Building native extensions. This could take a while...
ERROR:  Error installing red-arrow:
        ERROR: Failed to build gem native extension.

    current directory: 
/Users/kwedinger/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/glib2-3.3.7/ext/glib2
/Users/kwedinger/.rbenv/versions/2.6.3/bin/ruby -I 
/Users/kwedinger/.rbenv/versions/2.6.3/lib/ruby/2.6.0 -r 
./siteconf20191007-84053-1y4ly2q.rb extconf.rb
checking for --enable-debug-build option... no
checking for -Wall option to compiler... yes
checking for -Waggregate-return option to compiler... yes
checking for -Wcast-align option to compiler... yes
checking for -Wextra option to compiler... no
checking for -Wformat=2 option to compiler... yes
checking for -Winit-self option to compiler... yes
checking for -Wlarger-than-65500 option to compiler... yes
checking for -Wmissing-declarations option to compiler... yes
checking for -Wmissing-format-attribute option to compiler... yes
checking for -Wmissing-include-dirs option to compiler... yes
checking for -Wmissing-noreturn option to compiler... yes
checking for -Wmissing-prototypes option to compiler... yes
checking for -Wnested-externs option to compiler... yes
checking for -Wold-style-definition option to compiler... yes
checking for -Wpacked option to compiler... yes
checking for -Wp,-D_FORTIFY_SOURCE=2 option to compiler... yes
checking for -Wpointer-arith option to compiler... yes
checking for -Wswitch-default option to compiler... yes
checking for -Wswitch-enum option to compiler... yes
checking for -Wundef option to compiler... yes
checking for -Wout-of-line-declaration option to compiler... yes
checking for -Wunsafe-loop-optimizations option to compiler... no
checking for -Wwrite-strings option to compiler... yes
checking for Homebrew... yes
checking for gobject-2.0 version (>= 2.12.0)... yes
checking for gthread-2.0... yes
checking for unistd.h... yes
checking for io.h... no
checking for g_spawn_close_pid() in glib.h... yes
checking for g_thread_init() in glib.h... yes
checking for g_main_depth() in glib.h... yes
checking for g_listenv() in glib.h... yes
checking for rb_check_array_type() in ruby.h... yes
checking for rb_check_hash_type() in ruby.h... yes
checking for rb_exec_recursive() in ruby.h... yes
checking for rb_errinfo() in ruby.h... yes
checking for rb_thread_call_without_gvl() in ruby.h... yes
checking for ruby_native_thread_p() in ruby.h... yes
checking for rb_thread_call_with_gvl() in ruby.h... yes
checking for rb_gc_register_mark_object() in ruby.h... yes
checking for rb_exc_new_str() in ruby.h... yes
checking for rb_enc_str_new_static() in ruby.h... yes
checking for curr_thread in ruby.h,node.h... no
checking for rb_curr_thread in ruby.h,node.h... no
creating ruby-glib2.pc
creating glib-enum-types.c
creating glib-enum-types.h
creating Makefile

current directory: 
/Users/kwedinger/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/glib2-3.3.7/ext/glib2
make "DESTDIR=" clean

current directory: 
/Users/kwedinger/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/glib2-3.3.7/ext/glib2
make "DESTDIR="
compiling rbglib-gc.c
compiling rbgobj_signal.c
compiling rbglib_int64.c
compiling rbglib_convert.c
compiling rbglib_bookmarkfile.c
compiling rbglib-variant.c
compiling glib-enum-types.c
glib-enum-types.c:632:9: warning: 'G_SPAWN_ERROR_2BIG' is deprecated: Use 
'G_SPAWN_ERROR_TOO_BIG' instead [-Wdeprecated-declarations]
      { G_SPAWN_ERROR_2BIG, "G_SPAWN_ERROR_2BIG", "2big" },
        ^
/usr/local/Cellar/glib/2.62.1/include/glib-2.0/glib/gspawn.h:76:22: note: 
'G_SPAWN_ERROR_2BIG' has been explicitly marked deprecated here
  G_SPAWN_ERROR_2BIG 
GLIB_DEPRECATED_ENUMERATOR_IN_2_32_FOR(G_SPAWN_ERROR_TOO_BIG) = 
G_SPAWN_ERROR_TOO_BIG,
                     ^
/usr/local/Cellar/glib/2.62.1/include/glib-2.0/glib/gversionmacros.h:421:54: 
note: expanded from macro 'GLIB_DEPRECATED_ENUMERATOR_IN_2_32_FOR'
# define GLIB_DEPRECATED_ENUMERATOR_IN_2_32_FOR(f)   
GLIB_DEPRECATED_ENUMERATOR_FOR(f)
                                                     ^
/usr/local/Cellar/glib/2.62.1/include/glib-2.0/glib/gmacros.h:1002:43: note: 
expanded from macro 'GLIB_DEPRECATED_ENUMERATOR_FOR'
#define GLIB_DEPRECATED_ENUMERATOR_FOR(f) G_DEPRECATED_FOR(f)
                                          ^
/usr/local/Cellar/glib/2.62.1/include/glib-2.0/glib/gmacros.h:950:44: note: 
expanded from macro 'G_DEPRECATED_FOR'
#define G_DEPRECATED_FOR(f) __attribute__((__deprecated__("Use '" #f "' 
instead")))
                                           ^
glib-enum-types.c:729:12: warning: incompatible pointer to integer conversion 
initializing 'guint' (aka 'unsigned int') with an expression of type 'const 
char [2]' [-Wint-conversion]
      { }, "}", "}" },
           ^~~
glib-enum-types.c:729:12: warning: suggest braces around initialization of 
subobject [-Wmissing-braces]
      { }, "}", "}" },
           ^~~~~~~~
           {       }
glib-enum-types.c:729:12: error: initializer element is not a compile-time 
constant
      { }, "}", "}" },
           ^~~
glib-enum-types.c:729:22: error: expected ';' at end of declaration
      { }, "}", "}" },
                     ^
                     ;
glib-enum-types.c:730:41: error: expected expression
      { G_GNUC_BEGIN_IGNORE_DEPRECATIONS, "G_GNUC_BEGIN_IGNORE_DEPRECATIONS", 
"g-gnuc-begin-ignore-deprecations" },
                                        ^
glib-enum-types.c:730:115: error: expected expression
      { G_GNUC_BEGIN_IGNORE_DEPRECATIONS, "G_GNUC_BEGIN_IGNORE_DEPRECATIONS", 
"g-gnuc-begin-ignore-deprecations" },
                                                                                
                                  ^
glib-enum-types.c:741:62: error: use of undeclared identifier 'values'
    etype = g_flags_register_static ("GTestSubprocessFlags", values);
                                                             ^
glib-enum-types.c:743:3: error: expected identifier or '('
  return etype;
  ^
glib-enum-types.c:744:1: error: extraneous closing brace ('}')
}
^
3 warnings and 7 errors generated.
make: *** [glib-enum-types.o] Error 1

make failed, exit code 2
}}

This appears to be related to 
https://github.com/ruby-gnome/ruby-gnome/issues/1294 which is fixed in glib2 
3.3.8.

  was:
*System information:*
 * macOS Mojave 10.14.6
 * Ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18] managed via rbenv

*Reproduction steps:*
Run `gem install red-arrow`

*Observe:*
The following compilation errors occur during compilation of dependent gem 
glib2 3.3.7:
```
Building native extensions. This could take a while...
ERROR:  Error installing red-arrow:
        ERROR: Failed to build gem native extension.

    current directory: 
/Users/kwedinger/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/glib2-3.3.7/ext/glib2
/Users/kwedinger/.rbenv/versions/2.6.3/bin/ruby -I 
/Users/kwedinger/.rbenv/versions/2.6.3/lib/ruby/2.6.0 -r 
./siteconf20191007-84053-1y4ly2q.rb extconf.rb
checking for --enable-debug-build option... no
checking for -Wall option to compiler... yes
checking for -Waggregate-return option to compiler... yes
checking for -Wcast-align option to compiler... yes
checking for -Wextra option to compiler... no
checking for -Wformat=2 option to compiler... yes
checking for -Winit-self option to compiler... yes
checking for -Wlarger-than-65500 option to compiler... yes
checking for -Wmissing-declarations option to compiler... yes
checking for -Wmissing-format-attribute option to compiler... yes
checking for -Wmissing-include-dirs option to compiler... yes
checking for -Wmissing-noreturn option to compiler... yes
checking for -Wmissing-prototypes option to compiler... yes
checking for -Wnested-externs option to compiler... yes
checking for -Wold-style-definition option to compiler... yes
checking for -Wpacked option to compiler... yes
checking for -Wp,-D_FORTIFY_SOURCE=2 option to compiler... yes
checking for -Wpointer-arith option to compiler... yes
checking for -Wswitch-default option to compiler... yes
checking for -Wswitch-enum option to compiler... yes
checking for -Wundef option to compiler... yes
checking for -Wout-of-line-declaration option to compiler... yes
checking for -Wunsafe-loop-optimizations option to compiler... no
checking for -Wwrite-strings option to compiler... yes
checking for Homebrew... yes
checking for gobject-2.0 version (>= 2.12.0)... yes
checking for gthread-2.0... yes
checking for unistd.h... yes
checking for io.h... no
checking for g_spawn_close_pid() in glib.h... yes
checking for g_thread_init() in glib.h... yes
checking for g_main_depth() in glib.h... yes
checking for g_listenv() in glib.h... yes
checking for rb_check_array_type() in ruby.h... yes
checking for rb_check_hash_type() in ruby.h... yes
checking for rb_exec_recursive() in ruby.h... yes
checking for rb_errinfo() in ruby.h... yes
checking for rb_thread_call_without_gvl() in ruby.h... yes
checking for ruby_native_thread_p() in ruby.h... yes
checking for rb_thread_call_with_gvl() in ruby.h... yes
checking for rb_gc_register_mark_object() in ruby.h... yes
checking for rb_exc_new_str() in ruby.h... yes
checking for rb_enc_str_new_static() in ruby.h... yes
checking for curr_thread in ruby.h,node.h... no
checking for rb_curr_thread in ruby.h,node.h... no
creating ruby-glib2.pc
creating glib-enum-types.c
creating glib-enum-types.h
creating Makefile

current directory: 
/Users/kwedinger/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/glib2-3.3.7/ext/glib2
make "DESTDIR=" clean

current directory: 
/Users/kwedinger/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/glib2-3.3.7/ext/glib2
make "DESTDIR="
compiling rbglib-gc.c
compiling rbgobj_signal.c
compiling rbglib_int64.c
compiling rbglib_convert.c
compiling rbglib_bookmarkfile.c
compiling rbglib-variant.c
compiling glib-enum-types.c
glib-enum-types.c:632:9: warning: 'G_SPAWN_ERROR_2BIG' is deprecated: Use 
'G_SPAWN_ERROR_TOO_BIG' instead [-Wdeprecated-declarations]
      { G_SPAWN_ERROR_2BIG, "G_SPAWN_ERROR_2BIG", "2big" },
        ^
/usr/local/Cellar/glib/2.62.1/include/glib-2.0/glib/gspawn.h:76:22: note: 
'G_SPAWN_ERROR_2BIG' has been explicitly marked deprecated here
  G_SPAWN_ERROR_2BIG 
GLIB_DEPRECATED_ENUMERATOR_IN_2_32_FOR(G_SPAWN_ERROR_TOO_BIG) = 
G_SPAWN_ERROR_TOO_BIG,
                     ^
/usr/local/Cellar/glib/2.62.1/include/glib-2.0/glib/gversionmacros.h:421:54: 
note: expanded from macro 'GLIB_DEPRECATED_ENUMERATOR_IN_2_32_FOR'
# define GLIB_DEPRECATED_ENUMERATOR_IN_2_32_FOR(f)   
GLIB_DEPRECATED_ENUMERATOR_FOR(f)
                                                     ^
/usr/local/Cellar/glib/2.62.1/include/glib-2.0/glib/gmacros.h:1002:43: note: 
expanded from macro 'GLIB_DEPRECATED_ENUMERATOR_FOR'
#define GLIB_DEPRECATED_ENUMERATOR_FOR(f) G_DEPRECATED_FOR(f)
                                          ^
/usr/local/Cellar/glib/2.62.1/include/glib-2.0/glib/gmacros.h:950:44: note: 
expanded from macro 'G_DEPRECATED_FOR'
#define G_DEPRECATED_FOR(f) __attribute__((__deprecated__("Use '" #f "' 
instead")))
                                           ^
glib-enum-types.c:729:12: warning: incompatible pointer to integer conversion 
initializing 'guint' (aka 'unsigned int') with an expression of type 'const 
char [2]' [-Wint-conversion]
      { }, "}", "}" },
           ^~~
glib-enum-types.c:729:12: warning: suggest braces around initialization of 
subobject [-Wmissing-braces]
      { }, "}", "}" },
           ^~~~~~~~
           {       }
glib-enum-types.c:729:12: error: initializer element is not a compile-time 
constant
      { }, "}", "}" },
           ^~~
glib-enum-types.c:729:22: error: expected ';' at end of declaration
      { }, "}", "}" },
                     ^
                     ;
glib-enum-types.c:730:41: error: expected expression
      { G_GNUC_BEGIN_IGNORE_DEPRECATIONS, "G_GNUC_BEGIN_IGNORE_DEPRECATIONS", 
"g-gnuc-begin-ignore-deprecations" },
                                        ^
glib-enum-types.c:730:115: error: expected expression
      { G_GNUC_BEGIN_IGNORE_DEPRECATIONS, "G_GNUC_BEGIN_IGNORE_DEPRECATIONS", 
"g-gnuc-begin-ignore-deprecations" },
                                                                                
                                  ^
glib-enum-types.c:741:62: error: use of undeclared identifier 'values'
    etype = g_flags_register_static ("GTestSubprocessFlags", values);
                                                             ^
glib-enum-types.c:743:3: error: expected identifier or '('
  return etype;
  ^
glib-enum-types.c:744:1: error: extraneous closing brace ('}')
}
^
3 warnings and 7 errors generated.
make: *** [glib-enum-types.o] Error 1

make failed, exit code 2
```

This appears to be related to 
https://github.com/ruby-gnome/ruby-gnome/issues/1294 which is fixed in glib2 
3.3.8.


> [RUBY] Gem does not install on macOS due to glib2 3.3.7 compilation failure
> ---------------------------------------------------------------------------
>
>                 Key: ARROW-6809
>                 URL: https://issues.apache.org/jira/browse/ARROW-6809
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: Ruby
>    Affects Versions: 0.15.0
>         Environment: macOS Mojave 10.14.6
> Ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]
> Xcode 10.3
>            Reporter: Keith Wedinger
>            Priority: Blocker
>
> *System information:*
>  * macOS Mojave 10.14.6
>  * Ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18] managed via 
> rbenv
> *Reproduction steps:*
> Run {{gem install red-arrow}}
> *Observe:*
> The following compilation errors occur during compilation of dependent gem 
> glib2 3.3.7:
> {{
> Building native extensions. This could take a while...
> ERROR:  Error installing red-arrow:
>       ERROR: Failed to build gem native extension.
>     current directory: 
> /Users/kwedinger/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/glib2-3.3.7/ext/glib2
> /Users/kwedinger/.rbenv/versions/2.6.3/bin/ruby -I 
> /Users/kwedinger/.rbenv/versions/2.6.3/lib/ruby/2.6.0 -r 
> ./siteconf20191007-84053-1y4ly2q.rb extconf.rb
> checking for --enable-debug-build option... no
> checking for -Wall option to compiler... yes
> checking for -Waggregate-return option to compiler... yes
> checking for -Wcast-align option to compiler... yes
> checking for -Wextra option to compiler... no
> checking for -Wformat=2 option to compiler... yes
> checking for -Winit-self option to compiler... yes
> checking for -Wlarger-than-65500 option to compiler... yes
> checking for -Wmissing-declarations option to compiler... yes
> checking for -Wmissing-format-attribute option to compiler... yes
> checking for -Wmissing-include-dirs option to compiler... yes
> checking for -Wmissing-noreturn option to compiler... yes
> checking for -Wmissing-prototypes option to compiler... yes
> checking for -Wnested-externs option to compiler... yes
> checking for -Wold-style-definition option to compiler... yes
> checking for -Wpacked option to compiler... yes
> checking for -Wp,-D_FORTIFY_SOURCE=2 option to compiler... yes
> checking for -Wpointer-arith option to compiler... yes
> checking for -Wswitch-default option to compiler... yes
> checking for -Wswitch-enum option to compiler... yes
> checking for -Wundef option to compiler... yes
> checking for -Wout-of-line-declaration option to compiler... yes
> checking for -Wunsafe-loop-optimizations option to compiler... no
> checking for -Wwrite-strings option to compiler... yes
> checking for Homebrew... yes
> checking for gobject-2.0 version (>= 2.12.0)... yes
> checking for gthread-2.0... yes
> checking for unistd.h... yes
> checking for io.h... no
> checking for g_spawn_close_pid() in glib.h... yes
> checking for g_thread_init() in glib.h... yes
> checking for g_main_depth() in glib.h... yes
> checking for g_listenv() in glib.h... yes
> checking for rb_check_array_type() in ruby.h... yes
> checking for rb_check_hash_type() in ruby.h... yes
> checking for rb_exec_recursive() in ruby.h... yes
> checking for rb_errinfo() in ruby.h... yes
> checking for rb_thread_call_without_gvl() in ruby.h... yes
> checking for ruby_native_thread_p() in ruby.h... yes
> checking for rb_thread_call_with_gvl() in ruby.h... yes
> checking for rb_gc_register_mark_object() in ruby.h... yes
> checking for rb_exc_new_str() in ruby.h... yes
> checking for rb_enc_str_new_static() in ruby.h... yes
> checking for curr_thread in ruby.h,node.h... no
> checking for rb_curr_thread in ruby.h,node.h... no
> creating ruby-glib2.pc
> creating glib-enum-types.c
> creating glib-enum-types.h
> creating Makefile
> current directory: 
> /Users/kwedinger/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/glib2-3.3.7/ext/glib2
> make "DESTDIR=" clean
> current directory: 
> /Users/kwedinger/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/glib2-3.3.7/ext/glib2
> make "DESTDIR="
> compiling rbglib-gc.c
> compiling rbgobj_signal.c
> compiling rbglib_int64.c
> compiling rbglib_convert.c
> compiling rbglib_bookmarkfile.c
> compiling rbglib-variant.c
> compiling glib-enum-types.c
> glib-enum-types.c:632:9: warning: 'G_SPAWN_ERROR_2BIG' is deprecated: Use 
> 'G_SPAWN_ERROR_TOO_BIG' instead [-Wdeprecated-declarations]
>       { G_SPAWN_ERROR_2BIG, "G_SPAWN_ERROR_2BIG", "2big" },
>         ^
> /usr/local/Cellar/glib/2.62.1/include/glib-2.0/glib/gspawn.h:76:22: note: 
> 'G_SPAWN_ERROR_2BIG' has been explicitly marked deprecated here
>   G_SPAWN_ERROR_2BIG 
> GLIB_DEPRECATED_ENUMERATOR_IN_2_32_FOR(G_SPAWN_ERROR_TOO_BIG) = 
> G_SPAWN_ERROR_TOO_BIG,
>                      ^
> /usr/local/Cellar/glib/2.62.1/include/glib-2.0/glib/gversionmacros.h:421:54: 
> note: expanded from macro 'GLIB_DEPRECATED_ENUMERATOR_IN_2_32_FOR'
> # define GLIB_DEPRECATED_ENUMERATOR_IN_2_32_FOR(f)   
> GLIB_DEPRECATED_ENUMERATOR_FOR(f)
>                                                      ^
> /usr/local/Cellar/glib/2.62.1/include/glib-2.0/glib/gmacros.h:1002:43: note: 
> expanded from macro 'GLIB_DEPRECATED_ENUMERATOR_FOR'
> #define GLIB_DEPRECATED_ENUMERATOR_FOR(f) G_DEPRECATED_FOR(f)
>                                           ^
> /usr/local/Cellar/glib/2.62.1/include/glib-2.0/glib/gmacros.h:950:44: note: 
> expanded from macro 'G_DEPRECATED_FOR'
> #define G_DEPRECATED_FOR(f) __attribute__((__deprecated__("Use '" #f "' 
> instead")))
>                                            ^
> glib-enum-types.c:729:12: warning: incompatible pointer to integer conversion 
> initializing 'guint' (aka 'unsigned int') with an expression of type 'const 
> char [2]' [-Wint-conversion]
>       { }, "}", "}" },
>            ^~~
> glib-enum-types.c:729:12: warning: suggest braces around initialization of 
> subobject [-Wmissing-braces]
>       { }, "}", "}" },
>            ^~~~~~~~
>            {       }
> glib-enum-types.c:729:12: error: initializer element is not a compile-time 
> constant
>       { }, "}", "}" },
>            ^~~
> glib-enum-types.c:729:22: error: expected ';' at end of declaration
>       { }, "}", "}" },
>                      ^
>                      ;
> glib-enum-types.c:730:41: error: expected expression
>       { G_GNUC_BEGIN_IGNORE_DEPRECATIONS, "G_GNUC_BEGIN_IGNORE_DEPRECATIONS", 
> "g-gnuc-begin-ignore-deprecations" },
>                                         ^
> glib-enum-types.c:730:115: error: expected expression
>       { G_GNUC_BEGIN_IGNORE_DEPRECATIONS, "G_GNUC_BEGIN_IGNORE_DEPRECATIONS", 
> "g-gnuc-begin-ignore-deprecations" },
>                                                                               
>                                     ^
> glib-enum-types.c:741:62: error: use of undeclared identifier 'values'
>     etype = g_flags_register_static ("GTestSubprocessFlags", values);
>                                                              ^
> glib-enum-types.c:743:3: error: expected identifier or '('
>   return etype;
>   ^
> glib-enum-types.c:744:1: error: extraneous closing brace ('}')
> }
> ^
> 3 warnings and 7 errors generated.
> make: *** [glib-enum-types.o] Error 1
> make failed, exit code 2
> }}
> This appears to be related to 
> https://github.com/ruby-gnome/ruby-gnome/issues/1294 which is fixed in glib2 
> 3.3.8.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to