cucumber/gherkin — Issue #153: Can't install on JRuby 1.7
Author: dnagir
Created: 2012-01-08 08:44:03+00:00
State: open

When running `gem install gherkin` I get the error:

```
> jruby -v
jruby 1.7.0.dev (ruby-1.9.3-p6) (2012-01-08 43db071) (Java HotSpot(TM) Client VM 1.6.0_29) [darwin-i386-java]

> gem install gherkin
Fetching: gherkin-2.7.2-java.gem (100%)
StreamReader.java:98:in `checkPrintable': unacceptable character '?' (0xFFFD) special characters are not allowed
in "", position 187
from StreamReader.java:191:in `update'
from StreamReader.java:63:in `'
from PsychParser.java:115:in `parse'
from PsychParser$INVOKER$i$1$0$parse.gen:65535:in `call'
from CachingCallSite.java:312:in `cacheAndCall'
from CachingCallSite.java:169:in `call'
from CallOneArgNode.java:57:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:190:in `call'
from DefaultMethod.java:199:in `call'
from CachingCallSite.java:312:in `cacheAndCall'
from CachingCallSite.java:169:in `call'
from FCallOneArgNode.java:36:in `interpret'
from CallNoArgNode.java:63:in `interpret'
from LocalAsgnNode.java:123:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:190:in `call'
from DefaultMethod.java:199:in `call'
from CachingCallSite.java:312:in `cacheAndCall'
from CachingCallSite.java:169:in `call'
from FCallOneArgNode.java:36:in `interpret'
from LocalAsgnNode.java:123:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:190:in `call'
from DefaultMethod.java:199:in `call'
from CachingCallSite.java:312:in `cacheAndCall'
from CachingCallSite.java:169:in `call'
from CallOneArgNode.java:57:in `interpret'
from LocalAsgnNode.java:123:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:190:in `call'
from DefaultMethod.java:199:in `call'
from CachingCallSite.java:312:in `cacheAndCall'
from CachingCallSite.java:169:in `call'
from CallOneArgNode.java:57:in `interpret'
from NewlineNode.java:104:in `interpret'
from RescueNode.java:216:in `executeBody'
from RescueNode.java:120:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:190:in `call'
from DefaultMethod.java:199:in `call'
from CachingCallSite.java:312:in `cacheAndCall'
from CachingCallSite.java:169:in `call'
from FCallOneArgNode.java:36:in `interpret'
from InstAsgnNode.java:95:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from EnsureNode.java:96:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from WhenOneArgNode.java:36:in `whenSlowTest'
from WhenOneArgNode.java:46:in `when'
from CaseNode.java:133:in `interpret'
from NewlineNode.java:104:in `interpret'
from ASTInterpreter.java:112:in `INTERPRET_BLOCK'
from Interpreted19Block.java:203:in `evalBlockBody'
from Interpreted19Block.java:154:in `yield'
from Interpreted19Block.java:132:in `yieldSpecific'
from Block.java:108:in `yieldSpecific'
from YieldOneNode.java:35:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:112:in `INTERPRET_BLOCK'
from Interpreted19Block.java:203:in `evalBlockBody'
from Interpreted19Block.java:154:in `yield'
from Interpreted19Block.java:127:in `yieldSpecific'
from Block.java:99:in `yieldSpecific'
from RubyKernel.java:1337:in `loop'
from RubyKernel$INVOKER$s$0$0$loop.gen:65535:in `call'
from CachingCallSite.java:302:in `cacheAndCall'
from CachingCallSite.java:144:in `callBlock'
from CachingCallSite.java:153:in `callIter'
from FCallNoArgBlockNode.java:32:in `interpret'
from NewlineNode.java:104:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:169:in `call'
from DefaultMethod.java:191:in `call'
from CachingCallSite.java:302:in `cacheAndCall'
from CachingCallSite.java:144:in `callBlock'
from CachingCallSite.java:153:in `callIter'
from CallNoArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:255:in `call'
from DefaultMethod.java:223:in `call'
from CachingCallSite.java:342:in `cacheAndCall'
from CachingCallSite.java:212:in `callBlock'
from CachingCallSite.java:216:in `call'
from RubyClass.java:824:in `newInstance'
from RubyClass$INVOKER$i$newInstance.gen:65535:in `call'
from JavaMethod.java:290:in `call'
from WrapperMethod.java:62:in `call'
from CachingCallSite.java:332:in `cacheAndCall'
from CachingCallSite.java:203:in `call'
from FCallTwoArgNode.java:38:in `interpret'
from LocalAsgnNode.java:123:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from EnsureNode.java:96:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:255:in `call'
from DefaultMethod.java:223:in `call'
from CachingCallSite.java:342:in `cacheAndCall'
from CachingCallSite.java:212:in `callBlock'
from CachingCallSite.java:216:in `call'
from CallTwoArgBlockPassNode.java:62:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:298:in `call'
from DefaultMethod.java:239:in `call'
from CachingCallSite.java:362:in `cacheAndCall'
from CachingCallSite.java:246:in `callBlock'
from CachingCallSite.java:255:in `callIter'
from CallThreeArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:276:in `call'
from DefaultMethod.java:231:in `call'
from CachingCallSite.java:352:in `cacheAndCall'
from CachingCallSite.java:237:in `call'
from FCallThreeArgNode.java:40:in `interpret'
from NewlineNode.java:104:in `interpret'
from ASTInterpreter.java:112:in `INTERPRET_BLOCK'
from Interpreted19Block.java:203:in `evalBlockBody'
from Interpreted19Block.java:154:in `yield'
from Block.java:130:in `yield'
from RubyIO.java:1131:in `open'
from RubyKernel.java:285:in `open'
from RubyKernel.java:295:in `open19'
from RubyKernel$INVOKER$s$0$2$open19.gen:65535:in `call'
from DynamicMethod.java:224:in `call'
from CachingCallSite.java:342:in `cacheAndCall'
from CachingCallSite.java:212:in `callBlock'
from CachingCallSite.java:221:in `callIter'
from FCallTwoArgBlockNode.java:34:in `interpret'
from NewlineNode.java:104:in `interpret'
from RescueNode.java:216:in `executeBody'
from RescueNode.java:120:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from IfNode.java:119:in `interpret'
from IfNode.java:119:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:233:in `call'
from DefaultMethod.java:215:in `call'
from CachingCallSite.java:332:in `cacheAndCall'
from CachingCallSite.java:203:in `call'
from CallTwoArgNode.java:59:in `interpret'
from InstAsgnNode.java:95:in `interpret'
from OpAsgnOrNode.java:100:in `interpret'
from NewlineNode.java:104:in `interpret'
from RescueNode.java:216:in `executeBody'
from RescueNode.java:120:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:147:in `call'
from DefaultMethod.java:183:in `call'
from CachingCallSite.java:292:in `cacheAndCall'
from CachingCallSite.java:135:in `call'
from VCallNode.java:86:in `interpret'
from CallNoArgNode.java:63:in `interpret'
from InstAsgnNode.java:95:in `interpret'
from OpAsgnOrNode.java:100:in `interpret'
from NewlineNode.java:104:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:147:in `call'
from DefaultMethod.java:183:in `call'
from CachingCallSite.java:292:in `cacheAndCall'
from CachingCallSite.java:135:in `call'
from VCallNode.java:86:in `interpret'
from CallNoArgNode.java:63:in `interpret'
from LocalAsgnNode.java:123:in `interpret'
from IfNode.java:111:in `interpret'
from NewlineNode.java:104:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:147:in `call'
from DefaultMethod.java:183:in `call'
from CachingCallSite.java:292:in `cacheAndCall'
from CachingCallSite.java:135:in `call'
from VCallNode.java:86:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from IfNode.java:119:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from RescueNode.java:216:in `executeBody'
from RescueNode.java:120:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from EnsureNode.java:96:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:147:in `call'
from DefaultMethod.java:183:in `call'
from CachingCallSite.java:292:in `cacheAndCall'
from CachingCallSite.java:135:in `call'
from CallNoArgNode.java:63:in `interpret'
from DAsgnNode.java:110:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:112:in `INTERPRET_BLOCK'
from Interpreted19Block.java:203:in `evalBlockBody'
from Interpreted19Block.java:191:in `yield'
from Interpreted19Block.java:174:in `yield'
from BlockBody.java:131:in `call'
from Block.java:111:in `call'
from RubyEnumerable.java:874:in `call'
from CallBlock.java:88:in `yield'
from Block.java:130:in `yield'
from RubyArray.java:1602:in `eachCommon'
from RubyArray.java:1609:in `each'
from RubyArray$INVOKER$i$0$0$each.gen:65535:in `call'
from JavaMethod.java:434:in `call'
from RubyClass.java:561:in `finvoke'
from RuntimeHelpers.java:533:in `invoke'
from RubyEnumerable.java:114:in `callEach'
from RubyEnumerable.java:917:in `each_with_indexCommon19'
from RubyEnumerable.java:933:in `each_with_index19'
from RubyEnumerable$INVOKER$s$0$0$each_with_index19.gen:65535:in `call'
from DynamicMethod.java:208:in `call'
from CachingCallSite.java:302:in `cacheAndCall'
from CachingCallSite.java:144:in `callBlock'
from CachingCallSite.java:153:in `callIter'
from CallNoArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:233:in `call'
from DefaultMethod.java:215:in `call'
from CachingCallSite.java:332:in `cacheAndCall'
from CachingCallSite.java:203:in `call'
from CallTwoArgNode.java:59:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from RescueNode.java:216:in `executeBody'
from RescueNode.java:120:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from ASTInterpreter.java:112:in `INTERPRET_BLOCK'
from Interpreted19Block.java:203:in `evalBlockBody'
from Interpreted19Block.java:154:in `yield'
from Block.java:130:in `yield'
from RubyArray.java:1602:in `eachCommon'
from RubyArray.java:1609:in `each'
from RubyArray$INVOKER$i$0$0$each.gen:65535:in `call'
from CachingCallSite.java:302:in `cacheAndCall'
from CachingCallSite.java:144:in `callBlock'
from CachingCallSite.java:153:in `callIter'
from CallNoArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:147:in `call'
from DefaultMethod.java:183:in `call'
from CachingCallSite.java:292:in `cacheAndCall'
from CachingCallSite.java:135:in `call'
from VCallNode.java:86:in `interpret'
from NewlineNode.java:104:in `interpret'
from IfNode.java:119:in `interpret'
from IfNode.java:119:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:190:in `call'
from DefaultMethod.java:199:in `call'
from CachingCallSite.java:312:in `cacheAndCall'
from CachingCallSite.java:169:in `call'
from CallSpecialArgNode.java:67:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from CaseNode.java:138:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:190:in `call'
from DefaultMethod.java:199:in `call'
from CachingCallSite.java:312:in `cacheAndCall'
from CachingCallSite.java:169:in `call'
from FCallOneArgNode.java:36:in `interpret'
from NewlineNode.java:104:in `interpret'
from RescueNode.java:216:in `executeBody'
from RescueNode.java:120:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:190:in `call'
from DefaultMethod.java:199:in `call'
from CachingCallSite.java:312:in `cacheAndCall'
from CachingCallSite.java:169:in `call'
from CallOneArgNode.java:57:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from ASTInterpreter.java:75:in `INTERPRET_METHOD'
from InterpretedMethod.java:190:in `call'
from DefaultMethod.java:199:in `call'
from CachingCallSite.java:312:in `cacheAndCall'
from CachingCallSite.java:169:in `call'
from /Users/dnagir/.rvm/rubies/jruby-head/bin/gem:25:in `chained_0_rescue_1$RUBY$SYNTHETIC__file__'
from /Users/dnagir/.rvm/rubies/jruby-head/bin/gem:24:in `__file__'
from /Users/dnagir/.rvm/rubies/jruby-head/bin/gem:-1:in `load'
from Ruby.java:732:in `runScript'
from Ruby.java:725:in `runScript'
from Ruby.java:632:in `runNormally'
from Ruby.java:481:in `runFromMain'
from Main.java:343:in `doRunFromMain'
from Main.java:255:in `internalRun'
from Main.java:221:in `run'
from Main.java:205:in `run'
from Main.java:185:in `main'
```

Any workarounds/fixes for that?