Wow. I thought clustering was supposed to be the hard part, but then I tried to get DrQueue compiled from scratch along with the DrQueueOnRails web interface. For the uninitiated, DrQueue is an open source render farm management package. It gets rave reviews from its users but apparently it has a reputation for being hard to install.
But hey, if it's stable and basically works great once you get it going, it's worth the effort to get it set up. And truthfully, a lot of the pain is my own fault. My cluster software is all tested and built for Centos 4.x and DrQueue is built for Centos 5. So inevitably there are about a thousand dependencies that I can't just install with yum, because the versions are too old and DrQueue rejects them. So how to proceed? Yikes - back to dependency hell (yeah, you remember it from the early RedHat days, don't you?).
The 800 pound gorilla was getting a new enough version of GTK+ (I eventually chose 2.12.12; apparently 2.8 is the minimum version). When you install DrQueue to start off your new render farm, you need a way to submit jobs. That way is drqman, the graphical tool that you use to create jobs, manage priorities, see which render nodes are online, etc. And without a new-ish GTK+, you can only compile drqman with the "build_drqman=no" option. Which will give you a great render farm that you cannot submit jobs to, or control in any way. :-) Awesome.
So after "yum -y install make gcc xorg-x11-devel libtool" and "export LD_LIBRARY_PATH=/usr/local/lib" I began the tedious process of installing the following packages from source in a 'learn as you go' kind of way. Hopefully you are more forunate than I, and can learn from my experience.
The List
pkg-config-0.23
glib-2.18.2
libxml2-2.6.31
freetype-2.3.7
fontconfig-2.4.2
cairo-1.8.0 (note: when installing, use './configure --enable-shared' or you won't get what you need!)
pango-1.17.5
atk-1.24.0
pixman-0.12.0
Do this too if you install your stuff to the default location. I had two caches of pkgconfig files until:
cp --update -v /usr/lib/pkgconfig/* /usr/local/lib/pkgconfig/
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/lib/pkgconfig"
libpng-1.2.33
And finally... gtk+-2.12.12 (you may need: ./configure --without-libjpeg --without-libtiff) Even now, GTK+ did not want to build. Somethting in the ./tests directory was throwing an error and I was lucky enough to find another poor soul who blogged about this problem. So, if 'make' fails with a libtool error in ./tests, like so:
Making all in tests
make[2]: Entering directory `/home/rr/gimp/gtk+-2.12.1/tests'
/bin/sh ../libtool --mode=link -o autotestkeywords
libtool: unrecognized option `-o'
Try `libtool --help' for more information.
edit all Makefile* files and remove references to 'tests' in the SRC_SUBDIRS variable circa line 335. After that, it will compile just fine. The blog I found it on is here: http://richardrudek.spaces.live.com/blog/cns!8B65F3DE0BE797AA!222.entry
It's a good resource if you have problems with gtk+ because he documents all the prerequisites for his own purposes, and might hit something I missed here. Now, you need these:
yum -y install openssl-devel scons gcc-c++
and also ImageMagick from here:
wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
Ok. After installing ImageMagick make sure you run ldconfig. And now... You are finally ready to start installing DrQueue! That will be covered in the next post.