Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: JRuby 1.6
-
Fix Version/s: JRuby 1.6.2
-
Component/s: C Extensions
-
Labels:None
-
Environment:Solaris 10
-
Patch Submitted:Yes
-
Number of attachments :
Description
asprintf() doesn't exist on Solaris 10, so the C extensions fail to build. However, there is a asprintf implementation included with the C extensions, but it's in the windows specific include file. I've attached a patch that moves the asprintf implementation into a separate header that is then pulled in from ruby.h on Solaris and Windows.
This problem probably exists on other platforms also, in which case it should be fairly easy to extend it via platform specific #ifdef's. Ideally I think it would probably be better to detect this via autoconf or something similar.
I'm going to trust that removing the definitions from jruby_win32.h is ok, since we know asprintf will always be present on Windows. Yes?
commit 54a74fe4dc863dddfbc9d38210dcba5a747fa42a
Author: Charles Oliver Nutter <headius@headius.com>
Date: Thu Mar 24 18:49:16 2011 -0500
Fix
JRUBY-5606: asprintf does not exist on Solaris, so C extensions do not build