Richard Jones' Log: Open Source Dependency Hell
Sun, 10 Sep 2006
So one of the PyWeek 3 games uses Python 2.4, PyGame and PyOGRE.
- I'm running Ubuntu, so Python 2.4 is already installed and active
- "apt-get install python-pygame" installs a bunch of additional dependencies for me, no sweat
- PyOgre. No Ubuntu package. The tubes tell me that I can install it from its project site. So now I need to get psyco and "PyOgre (Media + PyOgre)". There's two "media files at the download site, "demo_media.zip" and "demo_media_1.2.0.zip" both with the same datestamp. The former has more downloads, so I go with that.
- "apt-get install python-psyco"
- In the PyOgre source, "python setup.py build". I realise it doesn't bundle OGRE. There's no README and no indication of this on the download site. Ho hum. "apt-cache search libogre" turns up "libogre5c2a". There's a vague reference to version "1.0.6-1.1ubuntu1" in the apt-cache "show" output. The current version on the Ogre3d website is "1.2.2p1" Not wanting to push my luck, I download the source from the Ogre3d website.
- The prerequsites list for Ogre3d is impressively long, so I go with only the required libs. I already have some installed.
- "apt-get install libzzip-dev"
- "apt-get install libmng-dev"
- "./configure --disable-cg && make install"...
- (during build) "apt-get install libxaw7-dev"
- (during build) "apt-get install libxxf86vm-dev"
- (during build) "apt-get install libdevil-dev"
- (during build) "apt-get install liblcms1-dev"
- The build then breaks saying "/usr/bin/install: cannot stat `.libs/libOgreMain.lai': No such file or directory" which was anticipated by the build instructions page. Followed instructions and "make install" completes.
- Back to pyogre.. "apt-get install swig"
- "python setup.py install" spits out a ton of messages about CEGUI configuration. I eventually figure that it's got an undocumented dependency on the optional Ogre3d dependency "cegui", so...
- "apt-get install libcegui-mk2-dev"
- Back to Ogre3d and "make distclean" (which actually breaks, so I remove the whole dir and unpack the tarball again) and "./configure --disable-cg" again.
- Back to pyogre.. "python setup.py install". It failed, spectacularly, starting with the line "gcc: : No such file or directory."
- Based on the advice here (though my error is different), I discover I have swig 1.3.27, so I download swig 1.3.29 and...
- "apt-get remove --purge swig"
- "./configure && make install" for swig
- Back to pyogre.. "python setup.py install". Based on the link above I re-run the build a few times, but unlike the results "hiasl" got, I do not end up with a successful build. I'm working on filing a bug report with the PyOgre project, but I'm currently waiting for the berlios system to email me my signup confirmation email...