UNIXSocket#send_io and multi-arch compiling
It seems we have a problem with UNIXSocket#send_io when compiling for multiple archs. It showed up for me when trying to use mod_rails with a universal ruby on the Mac. Here's an excerpt of an exchange I had with the mod_rails guys:
(All on OS X 10.6)
It seems if have ruby compiled for multiple archs, eg:
• ./configure --with-arch=x86_64,i386
• port install ruby19 +universal
And Apache 2 as x86_64 only, passenger will compile mod_passenger.so
as x86_64. Up to here, everything seems reasonable. But then, when
trying to load an app via passengers I'll get errors like this:
*** Exception NotImplementedError in
PhusionPassenger::Rack::ApplicationSpawner (send_io() function is
unimplemented on this machine) (process 31302): …
Reinstalling ruby as x86_64 only fixes it.
UNIXSocket#send_io is a Ruby socket library function and it would
appear that they're not turning it on properly during compile time
when compiling it in universal mode. You should file a bug report.