Hey,
i just posted a similar sugg on the ubuntu topic. The one place each linux distro varies greatly is in the start-up scripts (/etc/init.d). Usually, though, these days there's a “local” setup. Look for that. I posted examples of my /etc/conf.d/local.start
http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=5361 [
sidefx.com]
Basically, you want to start the houdini licenses as one of the last things to happen after booting. My guess is that they're being started too soon in the sequence - but sometimes, due to subtle startup delays (which vary upon every boot), they do manage to run!
Booting isn't a linear sequence. Think of it more as a parallel thing. Processes get “kicked off”, and then complete their startup in the background while more stuff gets started up. So, you can get into trouble if you're relying on (say) networking to be completely up and running before you start a license server. The solution is to start the Houdini license server towards the end of the startup process. That's why starting it manually works. Everything is up and running by then.Look for your “local” start/stop stuff in /etc/init.d. Try this for starters:
% cd /etc/init.d
% ls *local*
This might not return anything at all (boo!). You're looking for a file called something like “local”. This is the conventional place to start stuff like license servers. If there isn't one, then you might consider making one.
If it does exist, then you know where to add your start/stop lines for the sesi license daemon. There's usually comments in the file that help you work out what to do.
In fact, gentoo now uses another file (in /etc/conf.d) where you list the stuff you want started/stopped. That's kinda good, because it means the files in /etc/init.d don't have to get updated all the time. It makes sense that files in “conf” are the ones YOU change… In my case I have /etc/conf.d/local.start and /etc/conf.d/local.stop
The other type of linux (eg. redhat?) uses symbolic links in a series of rc* directories to start up stuff. Usually they're named S07blah and S08blah. They're run in alphabetical order (so 7 is started before 8 ). Yes alphabetical order (in the order “/bin/ls” lists them!).
This sounds crazy, but is cool if you're stuck without a running operating system. You can always make/change symbolic links - so it's good if you've painted yourself into a corner. yeah? – So! In that case you probably want to name your link to the sesi daemon as something like S95StartSesiLicenseDaemon and K05StopSesiLicenseDaemon. The “K” means kill. Note the “95” means that it's going to be run pretty much towards the end of the booting sequence. “05” means it's one of the first things killed when shutting-down.
To be clear, if you have a dir like /etc/rc3.d with lots of links in them, then you'd want to do something like:
# cd /etc/rc3.d
# ln -s ../init.d/sesinetd S95StartHoudiniLicense
# cd /etc/rc0.d
# ln -s ../init.d/sesinetd K05StopHoudiniLicense
(but that's only for those linux'es with rc directories - ie: NOT gentoo, etc).
If you do a “ls -l” in the various /etc/rc* directories you will see the links. The sgi's IRIX worked this way. It had links from the rc dirs into /etc/init.d
In fact, if your linux doesn't generally have or use /etc/init.d, the crazy thing is the Houdini Installation process will create the file: /etc/init.d/sesinetd - In that case, you can leave it there and just make the links in the various rc directories. Just make sure the license server is started late in the boot process. As I said earlier, it's best to use the “local” scripts if they exist. Look for them first. There could be one in the rc dirs already.
You should be seeing some sesinetd start and stop messages in the /var/log/messages file. (try: “grep -i sesi /var/log/messages”). Also, I do see a sesi license server startup message as the last line in the scrolling start-up text, just before the login: line (which disappears as soon as X-Windows starts).
I hope that helps.
cheers,
ben.