Skip to content

Extension gems built for JRuby warn when switching Java version #3520

@headius

Description

@headius

RubyGems warns if an extension gem in JRuby is built for one Java version and then the user switches to another Java version.

Ignoring io-console-0.5.6 because its extensions are not built. Try: gem pristine io-console --version 0.5.6

This affects all gems that have an extensions field in their gemspecs, because in all such cases RubyGems tracks whether the extension build has been run at all. It does not matter if the gem chooses not to actually build an extension, as is the case for some JRuby-specific versions of gems like io-console.

The problem is that RubyGems uses the value of RbConfig::CONFIG['arch'] to determine that platform. JRuby provides the Java version number in that field, which means that installing an extension on one Java version will warn if not re-installed for a different Java version.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions