Skip to content

Windows, RubyGems, 32 bit, etc #112

Closed

Description

@MSP-Greg

Apologies for opening this issue here, as it's not a RubyInstaller2 issue.

Two OSS things I've been looking at are gem bin stubs and fat-binary gems (building on Appveyor) and their use. Any feedback from people active here would be helpful.

  1. gem bin stubs - Gem bin stubs are the cmd or bat files (located in bin folders) that allow commands like rake test to run. The current implementation is not portable, as the path to ruby.exe is hard coded. With my work flow (multiple builds/versions that I'm testing against), I'd prefer if bin stubs inside of RbConfig::TOPDIR were relative to RbConfig::TOPDIR, and for those outside (typically --user-install gems), PATH is relied on to resolve where ruby.exe is. See RubyGems PR #2119. There are different opinions as to how this should be fixed...

  2. fat-binary gems - Given my multiple version/build testing, I often install gems with --user-install, as that (in theory) allows them to be used with any build with a matching ABI version. The problem occurs when one wants to use/test both 32 bit and 64 bit fat-binaries. My question - is there still a need for 32 bit Windows Ruby builds? Or, is there legacy code on windows that requires people to still use 32 bit Ruby?

Thanks, Greg

Activity

  1. larskanis commented on Jun 5, 2018

    @larskanis
    Member

    No need to apologize - I'm always pleased to get news from you!

    1. This should definitely be fixed. I support your proposal. Will add my comment in the PR.
    2. Although I will probably update and maintain rake-compiler-dock for the next some years, I don't recommend fat-binary gems any longer. You might better think twice whether they are really an advantage. The 32 bit version of rubyinstaller is downloaded by approx 10%. I don't know why people take this version, but the reason why I need it, is that I have to work with some legacy DLLs by ffi, which I don't have as a 64 bit version. That's why I'll support 32 bit for the next future.
  2. MSP-Greg commented on Jun 5, 2018

    @MSP-Greg
    ContributorAuthor

    @larskanis

    1. Thanks for the comment. There are pros & cons to whether bin folders outside of RbConfig::TOPDIR should have an absolute path to ruby.exe or simply ruby.exe, but I felt the simple ruby.exe was best.

    2. First of all, thanks for the link (www.somsubhra.com) , as I was unaware of it. I'm in a discussion about an embedded ruby app, and I'm in favor if 2.5 (fully tested mwsin & mingw), while others prefer 2.4. Hard to determine what's more popular or even how to rank them, but people are definitely using 2.5.x.

    Re fat-binaries (FB), I'm undecided. Thanks to you for the runtime that allows many people to build locally.

    I'm often drawn to edge cases. EventMachine's (EM) FB currently builds for 2.0 thru 2.3. I wanted to extend that to 2.5, and realized it would take four different OpenSSL packages to match the native OpenSSL dll's contained in 2.0 thru 2.5. People with experience building can probably build anything correctly (that can be), but many others cannot. Same for some MacOS or *nix coder trying to cross compile.

    I did create some ps1 files for building Puma and EM on Appveyor. The repo with the EM build code is at eventmachine-fb.

    One thing I noticed is that most FB's don't have the *.so files stripped. Is that intentional?

    Finally, thanks for the response, and hope things are well,

    Greg

  3. aharpervc commented on Jun 7, 2018

    @aharpervc
    Contributor

    The 32 bit version of rubyinstaller is downloaded by approx 10%. I don't know why people take this version

    I always choose 32bit ruby due to historical (unfounded? cargo culted?) belief that various gems with native dependencies wouldn't work in 64bit. Interesting to hear that this is apparently not a problem for 90% of people. I might not be alone in that assumption. It's possible this was true in the olden days, but if it's not true now then maybe there's room for increased communication that 64 bit is preferred/default.

  4. MSP-Greg commented on Jun 7, 2018

    @MSP-Greg
    ContributorAuthor

    I'm probably mistaken, but I think if you go back far enough, a 64 bit version of DevKit wasn't available.

    FWIW, I work with trunk a lot, so fat-binary extension gems are not available. I have had no problem building/compiling most popular extension gems.

    there's room for increased communication that 64 bit is preferred/default

    Good idea. Maybe the https://rubyinstaller.org/ home page should have a 'side-bar' heading of '64 or 32 bit?' with a sentence or two...

    Thanks Greg

  5. larskanis commented on Jan 8, 2019

    @larskanis
    Member

    Good idea. Maybe the https://rubyinstaller.org/ home page should have a 'side-bar' heading of '64 or 32 bit?' with a sentence or two...

    It's there now, so I'm closing this. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions