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.