[SOLVED] _cegui_ not found/DLL import error


10-12-2013 16:02:54


Today I started using CEGUI with Python-OGRE, but whenever Python would get to the line "from _cegui_ import *" in ogre/gui/CEGUI/__init__.py it would raise an ImportError, with the message being "DLL load failed: The specified module could not be found.", referring to _cegui_.pyd. The Internet informed me that this can occur when .pyd files have unmet dependencies (for some reason CPython reports the .pyd file, rather than its dependency, as "not found") so I looked at the file in Dependency Walker and saw that it depends on two missing files: OgreMain.dll and boost_python-vc90-mt-1_45.dll. Placing (copies of) those files in the same directory as _cegui_.pyd fixed the problem. Those files can be found in several directories, such as ogre/renderer/OGRE and ogre/io/OIS. I imagine adding those directories to sys.path or PYTHONPATH would also work but I haven't tried that.

The platform this occurred on is Windows 7 Home Premium x86-64 and using Python-OGRE 1.7.2 for Python 2.7.1 (but I am using Python 2.7.6 -- 2.7.1 is what ReportVersion.py says).

I'm not sure whether this warrants a bug report as it's not really a code bug, but a problem with the way Python-OGRE is packaged and installed. Also http://pythonogre.com is down ("site not configured") anyway and I wouldn't know where else to submit a bug report. Anyway, I hope this helps anyone else who has had, is having or has this problem. I couldn't find any threads about it though, so maybe it was just me.