Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't install 0.0.8.1-x64-mingw32 in ruby 3.1 #66

Open
jeremiahsnapp opened this issue Apr 9, 2022 · 7 comments
Open

Can't install 0.0.8.1-x64-mingw32 in ruby 3.1 #66

jeremiahsnapp opened this issue Apr 9, 2022 · 7 comments

Comments

@jeremiahsnapp
Copy link

I'm trying to install 0.0.8.1-x64-mingw32 in a x64-mingw ruby 3.1.1 system but I get the following error.

Your bundle is locked to unf_ext (0.0.8.1-x64-mingw32) from rubygems repository
https://rubygems.org/ or installed locally, but that version can no longer be
found in that source. That means the author of unf_ext (0.0.8.1-x64-mingw32) has
removed it. You'll need to update your bundle to a version other than unf_ext
(0.0.8.1-x64-mingw32) that hasn't been removed in order to install.

I can successfully install 0.0.8.1-x86-mingw32 in a x86-mingw ruby 3.1.1 system.

I noticed 0.0.8.1-x64-mingw32 has required ruby version: >= 2.4, < 3.1.DEV. Shouldn't it be >= 2.4, < 3.2.DEV, the same as 0.0.8.1-x86-mingw32?

jeremiahsnapp added a commit to chef/chef that referenced this issue Apr 12, 2022
Pre-compiled unf_ext gem in rubygems.org has broken ruby version
constraints which prevent it from installing in ruby 3.1.1 on 64 bit
Windows so we need to install it from source until the issue is resolved.
reference: knu/ruby-unf_ext#66

Signed-off-by: Jeremiah Snapp <[email protected]>
@jeremiahsnapp
Copy link
Author

I did some more investigating and I noticed that the 0.0.8.1-x64-mingw32 gem is missing the unf_ext.so library file built for ruby 3.1 as you can see in the following output which is just a list of the gem's files.

$ tar tzvf data.tar.gz                                                                                                                                                                                                                
-rw-r--r--  0 wheel  wheel      55 Mar 12 22:31 .document
-rw-r--r--  0 wheel  wheel    1000 Mar 12 22:31 .github/workflows/unf_ext.yml
-rw-r--r--  0 wheel  wheel     174 Mar 12 22:31 .gitignore
-rw-r--r--  0 wheel  wheel    1214 Mar 12 22:31 CHANGELOG.md
-rw-r--r--  0 wheel  wheel      97 Mar 12 22:31 Gemfile
-rw-r--r--  0 wheel  wheel    1174 Mar 12 22:31 LICENSE.txt
-rw-r--r--  0 wheel  wheel     992 Mar 12 22:31 README.md
-rw-r--r--  0 wheel  wheel     801 Mar 12 22:31 Rakefile
-rw-r--r--  0 wheel  wheel    1314 Mar 12 22:31 ext/unf_ext/extconf.rb
-rw-r--r--  0 wheel  wheel    2129 Mar 12 22:31 ext/unf_ext/unf.cc
-rw-r--r--  0 wheel  wheel    4474 Mar 12 22:31 ext/unf_ext/unf/normalizer.hh
-rw-r--r--  0 wheel  wheel 1437417 Mar 12 22:31 ext/unf_ext/unf/table.hh
-rw-r--r--  0 wheel  wheel    4149 Mar 12 22:31 ext/unf_ext/unf/trie/char_stream.hh
-rw-r--r--  0 wheel  wheel     590 Mar 12 22:31 ext/unf_ext/unf/trie/node.hh
-rw-r--r--  0 wheel  wheel    5587 Mar 12 22:31 ext/unf_ext/unf/trie/searcher.hh
-rw-r--r--  0 wheel  wheel     619 Mar 12 22:31 ext/unf_ext/unf/util.hh
-rwxrwxr-x  0 wheel  wheel  536064 Mar 12 22:31 lib/2.4/unf_ext.so
-rwxrwxr-x  0 wheel  wheel  536064 Mar 12 22:31 lib/2.5/unf_ext.so
-rwxrwxr-x  0 wheel  wheel  536064 Mar 12 22:31 lib/2.6/unf_ext.so
-rwxrwxr-x  0 wheel  wheel  536576 Mar 12 22:31 lib/2.7/unf_ext.so
-rwxrwxr-x  0 wheel  wheel  543744 Mar 12 22:31 lib/3.0/unf_ext.so
-rw-r--r--  0 wheel  wheel     109 Mar 12 22:31 lib/unf_ext.rb
-rw-r--r--  0 wheel  wheel      64 Mar 12 22:31 lib/unf_ext/version.rb
-rw-r--r--  0 wheel  wheel     470 Mar 12 22:31 test/helper.rb
-rw-r--r--  0 wheel  wheel  602527 Mar 12 22:31 test/normalization-test.txt
-rw-r--r--  0 wheel  wheel    1757 Mar 12 22:31 test/test_unf_ext.rb
-rw-r--r--  0 wheel  wheel    1336 Mar 12 22:31 unf_ext.gemspec

You can see that the unf_ext-0.0.8.1-x86-mingw32.gem gem does have the unf_ext.so library file built for ruby 3.1.

$ tar tzvf data.tar.gz                                                                                                                                                                                                                
-rw-r--r--  0 wheel  wheel      55 Mar 12 22:31 .document
-rw-r--r--  0 wheel  wheel    1000 Mar 12 22:31 .github/workflows/unf_ext.yml
-rw-r--r--  0 wheel  wheel     174 Mar 12 22:31 .gitignore
-rw-r--r--  0 wheel  wheel    1214 Mar 12 22:31 CHANGELOG.md
-rw-r--r--  0 wheel  wheel      97 Mar 12 22:31 Gemfile
-rw-r--r--  0 wheel  wheel    1174 Mar 12 22:31 LICENSE.txt
-rw-r--r--  0 wheel  wheel     992 Mar 12 22:31 README.md
-rw-r--r--  0 wheel  wheel     801 Mar 12 22:31 Rakefile
-rw-r--r--  0 wheel  wheel    1314 Mar 12 22:31 ext/unf_ext/extconf.rb
-rw-r--r--  0 wheel  wheel    2129 Mar 12 22:31 ext/unf_ext/unf.cc
-rw-r--r--  0 wheel  wheel    4474 Mar 12 22:31 ext/unf_ext/unf/normalizer.hh
-rw-r--r--  0 wheel  wheel 1437417 Mar 12 22:31 ext/unf_ext/unf/table.hh
-rw-r--r--  0 wheel  wheel    4149 Mar 12 22:31 ext/unf_ext/unf/trie/char_stream.hh
-rw-r--r--  0 wheel  wheel     590 Mar 12 22:31 ext/unf_ext/unf/trie/node.hh
-rw-r--r--  0 wheel  wheel    5587 Mar 12 22:31 ext/unf_ext/unf/trie/searcher.hh
-rw-r--r--  0 wheel  wheel     619 Mar 12 22:31 ext/unf_ext/unf/util.hh
-rwxrwxr-x  0 wheel  wheel  530432 Mar 12 22:31 lib/2.4/unf_ext.so
-rwxrwxr-x  0 wheel  wheel  530432 Mar 12 22:31 lib/2.5/unf_ext.so
-rwxrwxr-x  0 wheel  wheel  530432 Mar 12 22:31 lib/2.6/unf_ext.so
-rwxrwxr-x  0 wheel  wheel  531456 Mar 12 22:31 lib/2.7/unf_ext.so
-rwxrwxr-x  0 wheel  wheel  531968 Mar 12 22:31 lib/3.0/unf_ext.so
-rwxrwxr-x  0 wheel  wheel  531968 Mar 12 22:31 lib/3.1/unf_ext.so
-rw-r--r--  0 wheel  wheel     109 Mar 12 22:31 lib/unf_ext.rb
-rw-r--r--  0 wheel  wheel      64 Mar 12 22:31 lib/unf_ext/version.rb
-rw-r--r--  0 wheel  wheel     470 Mar 12 22:31 test/helper.rb
-rw-r--r--  0 wheel  wheel  602527 Mar 12 22:31 test/normalization-test.txt
-rw-r--r--  0 wheel  wheel    1757 Mar 12 22:31 test/test_unf_ext.rb
-rw-r--r--  0 wheel  wheel    1336 Mar 12 22:31 unf_ext.gemspec

Somehow the build process for 0.0.8.1-x64-mingw32 didn't build for ruby 3.1.

@knu
Copy link
Owner

knu commented Apr 13, 2022

Thanks for reporting this. I might have failed to build and package binary gems properly with the latest version of rake-compiler-dock. I'll roll out 0.0.8.2 soon.

@knu
Copy link
Owner

knu commented Apr 13, 2022

This is probably related to the fact that RubyInstaller changed the x64 platform name from x64-mingw32 to x64-mingw-ucrt.
https://rubyinstaller.org/2021/12/31/rubyinstaller-3.1.0-1-released.html

@knu
Copy link
Owner

knu commented Apr 13, 2022

I've released 0.0.8.2.beta for testing. The latest version of rake-compiler-dock no longer seems to build an x64-mingw32 binary for Ruby 3.1 (code), so I followed that and pushed three binary gems. Feedback is welcome.

@jeremiahsnapp
Copy link
Author

@knu this seems to work for us. Can you please make a stable release? Thanks!

@jeremiahsnapp
Copy link
Author

Hi @knu, do you have any concerns with making 0.0.8.2 a stable release?

@gabgagnon
Copy link

@knu Can you make it a stable version?

johnmccrae pushed a commit to chef/chef that referenced this issue May 31, 2022
Pre-compiled unf_ext gem in rubygems.org has broken ruby version
constraints which prevent it from installing in ruby 3.1.1 on 64 bit
Windows so we need to install it from source until the issue is resolved.
reference: knu/ruby-unf_ext#66

Signed-off-by: Jeremiah Snapp <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants