Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I just tried to upgrade to Unicorn 3.0. I changed my Gemfile and did a bundle install. When restarting my Unicorn I got tons of errors beginning with:

Unhandled listen loop exception #<Errno::ENOSYS: Function not implemented - accept>.
/usr/lib/ruby/gems/1.8/gems/unicorn-3.0.0/lib/unicorn/http_server.rb:593:in `kgio_tryaccept'

I’m on Ubuntu 10.04.

And, can anyone explain to me why the heck I can’t use an older version of a Gem than the most recent installed? After getting the errors above I just changed the version number of Unicorn in my Gemfile to 1.1.4. But this didn’t solve the problem, Ruby told me that

You have already activated unicorn 3.0.0, but your Gemfile requires unicorn 1.1.4. Consider using bundle exec. (Gem::LoadError)

Do I really have to?

Thanks in advance for your help, guys.

share|improve this question

Bundler is the one which takes care of loading the gems with the right versions. To make your server use unicorn 1.1.4 change your Gemfile to point to that version of unicorn, run bundle install and uninstall unicorn v3 gem from your server.

share|improve this answer
Do I really have to? Then there seems no possibility other than RVM to operate Rails 2 and Rails 3 apps on the same machine, right? – Ulf Klose Dec 17 '10 at 16:02
AFAIK you can deploy rails2 and rails3 on the same machine, if you don't install the gems on the server. Use bundle install --deployment to install all the required gems, this installs them in a bundle folder under the root of your app. Checkout Bundler Deployment for more info – Khaja Minhajuddin Dec 17 '10 at 19:18

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.