The cause is the project is trying to read /root/.ruby_inline/Inline_ImageScience_aa58.c, yet the user running the rails project is the one specified in the /config/mongrel_cluster.yml (usually some other user that is NOT root).
When the project references anything to do with ImageScience, it will complain that it has insufficient rights to read the c library file, of course, since it's in root's home dir.
Solution, specify a home environment variable in your rails project's production.rb file (/rails_project/config/environments/production.rb)
ENV['HOME'] = '/home/billy'
Now when the project is started from system boot, or manually by calling ./etc/init.d/mongrel_cluster start, the rails project will always look to the user's home directory, rather than root's.
EDIT:
Or better yet, use this patch to lib/mongrel/configurator.rb
(was posted at ruby-on-rails talk google groups)
- log "Changing user to #{user}."
- Process::UID.change_privilege(Etc.getpwnam(user).uid)
+ log "Changing user to #{user}."
+ getpwnam = Etc.getpwnam(user)
+ Process::UID.change_privilege(getpwnam.uid)
+ ENV['HOME'] = getpwnam.dir