Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Blocker
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: JRuby 1.7.0.pre1
-
Component/s: C Extensions
-
Labels:None
-
Number of attachments :
Description
As pointed out in JRUBY-6269, C extension is failing to build. http://ci.jruby.org/job/jruby-dist-master/720/console
[exec] /builds/jobs/jruby-dist-master/workspace/cext/src/data-object.cpp: In function 'VALUE rb_data_object_alloc(VALUE, void*, void (*)(void*), void (*)(void*))':
[exec] /builds/jobs/jruby-dist-master/workspace/cext/src/data-object.cpp:48: error: 'Jlocalenv' was not declared in this scope
[exec] /builds/jobs/jruby-dist-master/workspace/cext/src/data-object.cpp:48: error: expected `;' before 'env'
[exec] /builds/jobs/jruby-dist-master/workspace/cext/src/data-object.cpp:50: error: no matching function for call to 'jruby::RubyData::RubyData(void*&, void (*&)(void*), void (*&)(void*))'
This is obviously a typo of JLocalEnv. Fixing this results in this error:
[exec] /Users/asari/Development/src/jruby/cext/src/data-object.cpp: In function 'VALUE rb_data_object_alloc(VALUE, void*, void (*)(void*), void (*)(void*))':
[exec] /Users/asari/Development/src/jruby/cext/src/data-object.cpp:50: error: no matching function for call to 'jruby::RubyData::RubyData(void*&, void (*&)(void*), void (*&)(void*))'
[exec] /Users/asari/Development/src/jruby/cext/src/Handle.h:136: note: candidates are: jruby::RubyData::RubyData()
[exec] /Users/asari/Development/src/jruby/cext/src/Handle.h:136: note: jruby::RubyData::RubyData(const jruby::RubyData&)
And my C++-fu ran out.
Issue Links
- is related to
-
JRUBY-6293
jruby-dist-master does not build C extensions
-
Looks like a change by wmeissner landed that had typos and missing code. I patched it up as best I could, and it seems to be working now.
commit 56e4e5386d4834969a3bdef67cac59ef2a242476 Author: Charles Oliver Nutter <headius@headius.com> Date: Tue Dec 27 08:59:56 2011 -0600 Fix typos, missing decls in cext.