Comments
-
Greg Hurrell
I have no experience with Rubinius myself, but I understand from this article that not all C extensions will be out of the box compatible with it.
One thing I notice is the signed/unsigned comparison warning in your
make
output there. Building against MRI there is no such warning, seeing as both variables are of long/pointer type. So I don't know what Rubinius is doing with theRARRAY_LEN
macro, but whatever it is, it's expecting a different type.That's probably not the issue though. When you start playing around with different versions of Ruby, you will need to build and link Vim against the same version of Ruby as you're using to build Command-T. A simpler solution may be just to go with stock standard Ruby, which is what I'd recommend (your system's Ruby install should be a tool that enables you to get things done, not a toy for you to play around with). Just my opinion though.
-
jc00ke
Do you have any ideas on how to support command-t using different rubies via RVM? I'd be willing to donate to the project if it took some time.
-
Greg Hurrell
Well, it all boils down to one simple rule of thumb, whether you're using RVM or anything else: you must build Command-T using the exact same Ruby that was used to build Vim. On most operating systems/distros, that means using the stock system Ruby. If you don't want that, then you'll have to get your hands dirty and build both Command-T and Vim yourself.
If you are using RVM and want to build Command-T using the system Ruby, see the note in the docs about switching back to the system Ruby temporarily for the build.
As for supporting different Rubies, there will always only be a subset that can be supported, which are those which support the building of C extensions. So this immediately rules out JRuby and I imagine a few others as well. When you posted this ticket originally I was quite surprised, as I had no idea that Rubinius even remotely supported the notion of C extensions.
The Command-T code itself should work fine with both Ruby 1.8.7 and 1.9 as well, but I generally don't recommend using 1.9 as there are issues with it that go beyond the scope of Command-T. (If you check this issue tracker you'll see some previous tickets describing these issues.)
-
jc00ke
Well, I went back and built it with 1.8.7-p302 and it works. I'm pretty sure I tried that but maybe I didn't. Even worked after switching to Rubinius and 1.9.2.
Yeah, Rubinius has had pretty good support for C extensions for a while now.
Regardless, thanks! Building it with 1.8.7 did the trick.
-
Greg Hurrell
Glad to hear you got it sorted out.
-
Greg Hurrell
Status changed:
- From: new
- To: closed
Add a comment
Comments are now closed for this issue.