I have god installed on at least a dozen (or more) servers running CentOS 5.5 in both i386 and x86_64 flavors that work perfectly. I just setup two new CentOS 5.5 x86_64 servers and installed God, but I'm getting an event system error:

$ tail /var/log/god.log 
E [2011-04-22 12:33:17] ERROR: Condition 'God::Conditions::ProcessExits' 
requires an event system but none has been loaded 

$ god check 
using event system: none 
[fail] event system did not load 

$ uname -a 
Linux server2.example.com 2.6.18-238.9.1.el5 #1 SMP Tue Apr 12 18:10:13 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux 

I can't find any cn or netlink kernel module on any of my CentOS servers. Yet I have other servers that work fine:

$ god check 
using event system: netlink 
starting event handler 
forking off new process 
forked process with pid = 17559 
killing process 
[ok] process exit event received 

$ uname -a 
Linux server1.example.com 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux 

All servers run ruby v1.8.6-399:

# ruby -v
ruby 1.8.6 (2010-02-05 patchlevel 399) [x86_64-linux]

Ruby comes from the ELFF repo:

# rpm -qi ruby
Name        : ruby                         Relocations: (not relocatable)
Version     :                         Vendor: Bravenet ELFF <elff@bravenet.com>
Release     : 2.el5                         Build Date: Fri Apr 16 18:53:48 2010
Install Date: Thu Mar 24 11:23:48 2011         Build Host: el-build.local
Group       : Development/Languages         Source RPM: ruby-
Size        : 1738695                          License: Ruby or GPLv2
Signature   : DSA/SHA1, Fri Apr 16 19:07:49 2010, Key ID 551751dfe8b071d6
Packager    : Bravenet ELFF <elff@bravenet.com>

I did a little digging and can see the exception getting thrown when God tries to load the Netlink event handler:

no such file to load -- netlink_handler_ext 

What could possibly be different between my servers? Am I missing something simple?


netlink_handler_ext is a ruby native extension that is part of God. It looks like God can not load this native extensions either because it was never compiled and the gem was never installed correctly or it's not been added to it's load path.

Use "gem env" to checkout your gem environment, you should be able to find where the gem is installed and manually inspect if the native extension is present on not.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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