ruby-i18n / i18n

Internationalization (i18n) library for Ruby
MIT License
976 stars 408 forks source link

[BUG] Latest Release Required Cmake (building native extensions) #685

Closed j0sh3rs closed 6 months ago

j0sh3rs commented 6 months ago

What I tried to do

What I expected to happen

What actually happened

Versions of i18n, rails, and anything else you think is necessary


root@ubuntu-focal:~# ruby --version
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
root@ubuntu-focal:~# gem
gem     gem2.7
root@ubuntu-focal:~# dpkg -l | grep cmake
root@ubuntu-focal:~#
root@ubuntu-focal:~# gem install -v "1.14.3" --no-document i18n
Building native extensions. This could take a while...
ERROR:  Error installing i18n:
    ERROR: Failed to build gem native extension.

    current directory: /var/lib/gems/2.7.0/gems/racc-1.7.3/ext/racc/cparse
/usr/bin/ruby2.7 -I /usr/lib/ruby/2.7.0 -r ./siteconf20240306-2749-w64a6m.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

You might have to install separate package for the ruby development
environment, ruby-dev or ruby-devel for example.

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.7.0/gems/racc-1.7.3 for inspection.
Results logged to /var/lib/gems/2.7.0/extensions/x86_64-linux/2.7.0/racc-1.7.3/gem_make.out

Thanks! :heart:

j0sh3rs commented 6 months ago

I've opened a small PR to drop support for Ruby 2.x: https://github.com/ruby-i18n/i18n/pull/686

I would suggest withdrawing v1.14.3, then merge in my PR, and publish a new version (2.x)

radar commented 6 months ago

Thanks for taking the time to write all that up.

I had planned on handling the Ruby bump in some separate work, but then real life took over. That would indeed be a major version bump change.

I hadn't remembered that racc required CMake extensions to run, and agree this shouldn't have been in the point release.

Historically, people get grumpy when I yank versions, typically because their Gemfile.lock says one thing, but RubyGems.org says another. I know I get grumpy when it happens to me, too.

So I think the way to make people happy here is to undo the racc dependency in 1.14.x. This would then allow most people to gem install i18n '~> 1.1' and it to succeed still.

Then, we can re-apply that in a v2, and fix the Ruby version to boot.

dsgithub81 commented 6 months ago

@radar Do you have a rough ETA on when you expect this fix to be pushed out?

radar commented 6 months ago

@dsgithub81 Today, Australian Eastern Time. The day has just begun.

radar commented 6 months ago

Please try out v1.14.4 and let me know how you go.

dsgithub81 commented 6 months ago

Thank you, it is working now!

Another question, are you planning to release the v2 soon? Curious how long I will have before the gem install i18n '~> 1.1' is a must have

@radar