You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by GitBox <gi...@apache.org> on 2023/01/09 20:59:48 UTC

[GitHub] [arrow] ziggythehamster opened a new issue, #15279: 10.0.1 Ruby gems are not released to RubyGems

ziggythehamster opened a new issue, #15279:
URL: https://github.com/apache/arrow/issues/15279

   ### Describe the bug, including details regarding any error messages, version, and platform.
   
   The red-arrow/red-parquet/etc. gems currently have 10.0.0 but not 10.0.1. This causes packaging issues because they will fail to see that 10.0.1 is installed when querying pkg-config and then try to install them and potentially fail.
   
   ### Component(s)
   
   Ruby


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] kou commented on issue #15279: 10.0.1 Ruby gems are not released to RubyGems

Posted by GitBox <gi...@apache.org>.
kou commented on issue #15279:
URL: https://github.com/apache/arrow/issues/15279#issuecomment-1376852622

   Oh, I forgot to push them!
   I've pushed them.
   
   BTW, what is your platform? I want to see the full log of the problem situation.
   I think that red-arrow 10.0.0 requires Apache Arrow C GLib 10.0.0 or later. So red-arrow 10.0.0 should not to try installing Apache Arrow C GLib 10.0.1 when Apache Arrow C GLib 10.0.1 is already installed.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] kou closed issue #15279: 10.0.1 Ruby gems are not released to RubyGems

Posted by GitBox <gi...@apache.org>.
kou closed issue #15279: 10.0.1 Ruby gems are not released to RubyGems
URL: https://github.com/apache/arrow/issues/15279


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] ziggythehamster commented on issue #15279: 10.0.1 Ruby gems are not released to RubyGems

Posted by GitBox <gi...@apache.org>.
ziggythehamster commented on issue #15279:
URL: https://github.com/apache/arrow/issues/15279#issuecomment-1377687219

   This was macOS aarch64, and we actually had an issue with red-parquet because the dependency check Rakefile [looks up the major/minor/micro version in pkg-config](https://github.com/apache/arrow/blob/master/ruby/red-parquet/dependency-check/Rakefile) and gem 10.0.0 won't find 10.0.1, but it will try to install 10.0.0 and fail (for potentially local-to-us reasons). It looks like the extconf.rb for red-arrow also wants the micro version to match but I don't think we ran into any trouble installing that gem (probably because it is configured to use Homebrew and 10.0.0 will compile with 10.0.1 even if it thinks it is compiling with 10.0.0).
   
   I don't have an exact copy/paste of the error we got when red-parquet tried and failed to install (it was a different engineer that encountered it), but it was related to the C++17 register keyword, and probably due to the fact that Homebrew will install with a specific LLVM version and that might not be the one that `gem` would want to use by default.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] assignUser commented on issue #15279: 10.0.1 Ruby gems are not released to RubyGems

Posted by GitBox <gi...@apache.org>.
assignUser commented on issue #15279:
URL: https://github.com/apache/arrow/issues/15279#issuecomment-1376347388

   Cc @kou 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] kou commented on issue #15279: 10.0.1 Ruby gems are not released to RubyGems

Posted by GitBox <gi...@apache.org>.
kou commented on issue #15279:
URL: https://github.com/apache/arrow/issues/15279#issuecomment-1379484952

   No problem. :-)
   
   Thanks for reporting 10.0.1 gems aren't released yet. We didn't notice it.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] ziggythehamster commented on issue #15279: 10.0.1 Ruby gems are not released to RubyGems

Posted by GitBox <gi...@apache.org>.
ziggythehamster commented on issue #15279:
URL: https://github.com/apache/arrow/issues/15279#issuecomment-1377795361

   `-Wno-register` gets it working, but `red-arrow` does not honor any config options, e.g. `gem install red-arrow:10.0.1 -- --with-cflags="-Wno-register"` doesn't pass those parameters to the configure script. It also doesn't pass through `CFLAGS` in the env (ditto for CXXFLAGS/--with-cxxflags).
   
   The issue is that Ruby 2.6 in Homebrew was compiled with clang 13, which seems to not treat this as an error, but the latest dev tools has clang 14, which does. This leaves these options:
   
   1. Compile Ruby from source (`brew reinstall ruby@2.6 --build-from-source`) - probably works but am currently testing
   2. Lie about the cflags Ruby was built with by editing `/usr/local/opt/ruby@2.6//lib/ruby/2.6.0/x86_64-darwin21/rbconfig.rb` such that `warnflags` now has `-Wno-register` at the end (works, but yuck)
   3. Add `$CFLAGS << ' -Wno-register'` to `ext/arrow/extconf.rb` and maintain a fork of the gem (almost worse than the second option)
   
   Assuming the first option is going to work, that is the best choice obviously :)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] ziggythehamster commented on issue #15279: 10.0.1 Ruby gems are not released to RubyGems

Posted by GitBox <gi...@apache.org>.
ziggythehamster commented on issue #15279:
URL: https://github.com/apache/arrow/issues/15279#issuecomment-1379311073

   > Could you try `PATH=$(brew --prefix ruby@2.6)/bin:$PATH ruby -r pkg-config -e 'p PKGConfig.check_version?("parquet-glib", 10, 0, 0)'`?
   
   This works for me, so I assume that it worked for the other person as well and that got lost in translation.
   
   > For `register`, it's a Ruby problem not red-*. `register` is removed since Ruby 2.7. Ruby 2.6 is EOL. I recommend that you use Ruby 3.0 or later. (Ruby 2.7 will reach EOL soon.)
   
   Yeah, this is in progress.
   
   > Workaround: `PATH=/tmp/local/bin:$(brew --prefix ruby@2.6)/bin:$PATH gem install red-arrow -- --with-cxxflags="-Wno-register"`
   
   I feel incredibly stupid for missing that this used C++ and thus would need `--with-cxxflags` 😄 
   
   Apologies for wasting your time with a non-issue then - and thank you for the help.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] ziggythehamster commented on issue #15279: 10.0.1 Ruby gems are not released to RubyGems

Posted by GitBox <gi...@apache.org>.
ziggythehamster commented on issue #15279:
URL: https://github.com/apache/arrow/issues/15279#issuecomment-1377714277

   Some more info!
   
   Here's the exact error, which is actually from `gem install red-arrow:10.0.1`:
   
   ```
   compiling arrow.cpp
   In file included from arrow.cpp:20:
   In file included from ./red-arrow.hpp:33:
   In file included from /Users/XXXXXXX/.gem/gems/glib2-4.0.6/ext/glib2/rbgobject.h:25:
   In file included from /opt/homebrew/Cellar/ruby@2.6/2.6.10/include/ruby-2.6.0/ruby.h:33:
   In file included from /opt/homebrew/Cellar/ruby@2.6/2.6.10/include/ruby-2.6.0/ruby/ruby.h:2111:
   /opt/homebrew/Cellar/ruby@2.6/2.6.10/include/ruby-2.6.0/ruby/intern.h:56:19: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   void rb_mem_clear(register VALUE*, register long);
                     ^~~~~~~~~
   /opt/homebrew/Cellar/ruby@2.6/2.6.10/include/ruby-2.6.0/ruby/intern.h:56:36: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   void rb_mem_clear(register VALUE*, register long);
   ```
   
   This would appear to be an issue compiling against Ruby with too new of a compiler. Seeing if I can reproduce on my box.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] ziggythehamster commented on issue #15279: 10.0.1 Ruby gems are not released to RubyGems

Posted by GitBox <gi...@apache.org>.
ziggythehamster commented on issue #15279:
URL: https://github.com/apache/arrow/issues/15279#issuecomment-1377828386

   And compiling from scratch does not fix the issue, but if I add ruby@2.6 to my tap and add this, I can now successfully install red-arrow:
   
   ```
       # Set -Wno-register so clang14+ don't fail to build extensions
       args << "extra_warnflags=-Wno-register"
   ```
   
   This works for me.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] kou commented on issue #15279: 10.0.1 Ruby gems are not released to RubyGems

Posted by GitBox <gi...@apache.org>.
kou commented on issue #15279:
URL: https://github.com/apache/arrow/issues/15279#issuecomment-1378319602

   > we actually had an issue with red-parquet because the dependency check Rakefile [looks up the major/minor/micro version in pkg-config](https://github.com/apache/arrow/blob/master/ruby/red-parquet/dependency-check/Rakefile) and gem 10.0.0 won't find 10.0.1
   
   It's strange. `PKGConfig.check_version?("parquet-glib", 10, 0, 0)` must be `true` with `parquet-glib.pc` 10.0.1.
   See also: https://github.com/ruby-gnome/pkg-config/blob/master/lib/pkg-config.rb#L627-L630
   
   Could you try `PATH=$(brew --prefix ruby@2.6)/bin:$PATH ruby -r pkg-config -e 'p PKGConfig.check_version?("parquet-glib", 10, 0, 0)'?
   
   For `register`, it's a Ruby problem not red-*. `register` is removed since Ruby 2.7. Ruby 2.6 is EOL. I recommend that you use Ruby 3.0 or later. (Ruby 2.7 will reach EOL soon.)
   
   Workaround: `PATH=/tmp/local/bin:$(brew --prefix ruby@2.6)/bin:$PATH gem install red-arrow -- --with-cxxflags="-Wno-register"`


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org