This is a project to gather together people’s experiences with porting Ruby C extensions to Ruby 1.9.1 from earlier versions, but especially 1.8.6 and 1.8.7.
The Plan (such as it is)
It’s still a work in progress, but here’s how I’m thinking I’d like to structure it:
- A general introduction page which provides links to the other sections (
- A section (
troubleshooting.textile) that has a list of errors one is likely to encounter, both at compile time and at runtime, along with suggestions for how to solve them.
- A section (
compatibility.textile) that has suggestions for how to make your extension run under 1.8 and 1.9.
Where applicable, it’d be excellent to include a
ruby -pi -e-style command that can fix things for you.
I’ve also started working on an experimental porting tool (
lib/porttool.rb) that might someday be functional enough to do some of the work described in this guide for you. It’s currently very much a work in progress.
If you wish to contribute your own experiences, you can either send me an email with your suggestions (please include examples if possible), or you can send me a pull request.
If you contribute directly, please include a change that adds your name to the Contributors section of
index.textile if you’re not already listed there. Unless you’re shy, in which case make up an exotic-sounding alias and include that.