Uploaded image for project: 'Puppet Agent'
  1. Puppet Agent
  2. PA-561

[SPIKE] Investigate new approaches to cross-compiling Ruby

    XMLWordPrintable

Details

    • Task
    • Status: Closed
    • Normal
    • Resolution: Won't Do
    • None
    • None
    • None
    • Hide

      The result of this work should be a new component config file for ruby that does not require a custom rbconfig file for any platform. Instead it should contain any platform logic needed in its configure and build steps.

      The resulting ruby should be smoke-tested on a target platform, (e.g, s390x) and demonstrated to work by running a simple ruby script, having a working gem command (gems can be listed, etc). The ruby socket.so library file should exist and be verified to be built for the correct target.

      Finally, it should be possible to use the gem command to install gems with non-native extensions, and also native extensions (e.g, try installing nokogiri on an s390x target which has its own compilers, not pl-gcc).

      Show
      The result of this work should be a new component config file for ruby that does not require a custom rbconfig file for any platform. Instead it should contain any platform logic needed in its configure and build steps. The resulting ruby should be smoke-tested on a target platform, (e.g, s390x) and demonstrated to work by running a simple ruby script, having a working gem command (gems can be listed, etc). The ruby socket.so library file should exist and be verified to be built for the correct target. Finally, it should be possible to use the gem command to install gems with non-native extensions, and also native extensions (e.g, try installing nokogiri on an s390x target which has its own compilers, not pl-gcc).
    • Platform OS
    • 5

    Description

      The upgrade from Ruby 2.1 to 2.3 was especially problematic for our cross-compiled platforms. This ticket is to set aside some time in a sprint to work through some possible new (and more standardized) ways of cross-compiling Ruby - hopefully ones that don't require additional, hand-crafted rbconfig files. The process needs to work not only for building Ruby with its socket library, but also allow us to install gems at build time.

      Attachments

        Activity

          People

            Unassigned Unassigned
            scott.garman Scott Garman
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Zendesk Support