[CEGUI] Unable to identify codec

Vi3GameHkr

16-01-2011 16:55:46

Hello,

I've had a little bit of trouble with CEGUI, and the demos also do not work. I was working in Basic Tutorial 7 on the python-ogre wiki and the code there didn't work either. I get an error that says

OGRE EXCEPTION(2:InvalidParametersException): Unable to load image: Image format is unknown. Unable to identify codec. Check it or specify format explicitly. in Image::load at /src/python-ogre/ogre/OgreMain/src/OgreImage.cpp (line 405)

I found a thread that talked about reinstalling CEGUI, so I did the following

sudo make clean
./bootstrap
./configure --disable-devil
make
sudo make install


No dice. I tried that again, but this time using --disable-freeimage instead of --disable-devil and it still did not work.

Could I get any suggestions?

Vi3GameHkr

18-01-2011 01:01:06

Well I realized that my previous efforts probably didn't make any difference because I didn't even generate and compile the code with python python-ogre/BuildModule.py -g -c cegui --usesystem But then I was trying again:

I started by deleting the CEGUI-0.7.1 dir, then

tar zxf downloads/CEGUI-0.7.1.tar.gz
cd CEGUI-0.7.1
./bootstrap
./configure --prefix=/usr --disable-devil --enable-freeimage=yes --enable-ogre-renderer=yes --withdefault-xml-parser=TinyXMLParser --includedir=/usr/include
make


It configures correctly and everything, but then in make I get:

libtool: Version mismatch error. This is libtool 2.2.6, but the
libtool: definition of this LT_INIT comes from libtool 2.2.6b.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6
libtool: and run autoconf again.


Which for some reason didn't happen yesterday!

Does anyone know what's going on? I've been researching this and trying to play with a couple things myself.

I have done the following autoreconf -i -f and then repeating from ./configure and still no dice.

iwanantonowitsch

21-01-2011 22:23:47

maybe the package is broken - i cant use cegui due to issues with py2exe. someone might better check this

dermont

22-01-2011 03:55:25

Well I realized that my previous efforts probably didn't make any difference because I didn't even generate and compile the code with python python-ogre/BuildModule.py -g -c cegui --usesystem But then I was trying again:

I started by deleting the CEGUI-0.7.1 dir, then

tar zxf downloads/CEGUI-0.7.1.tar.gz
cd CEGUI-0.7.1
./bootstrap
./configure --prefix=/usr --disable-devil --enable-freeimage=yes --enable-ogre-renderer=yes --withdefault-xml-parser=TinyXMLParser --includedir=/usr/include
make


It configures correctly and everything, but then in make I get:

libtool: Version mismatch error. This is libtool 2.2.6, but the
libtool: definition of this LT_INIT comes from libtool 2.2.6b.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6
libtool: and run autoconf again.


Which for some reason didn't happen yesterday!

Does anyone know what's going on? I've been researching this and trying to play with a couple things myself.

I have done the following autoreconf -i -f and then repeating from ./configure and still no dice.


Well for starters your configure command is wrong "--withdefault-xml-parser=TinyXMLParser
" should be "--with-default-xml-parser=TinyXMLParser"

Vi3GameHkr

31-01-2011 17:43:00

That doesn't solve my problem with libtool, but thank you for pointing that out.

dermont

31-01-2011 18:56:58

Do you have more than one version of libtool installed, what does the following report:

>>whereis libtool
>>/usr/bin/libtool --version
>>libtool --version

Vi3GameHkr

10-02-2011 17:29:09

[EDIT2:]I got it compiled by removing libtool from the CEGUI-0.7.1 folder, and instead creating a symbolic link to /usr/bin/libtool. Now back to my original question. Read next post

Sorry for the delay. I thought I had it set to replies would be emailed to me.

marcus@marcus-laptop:/src/python-ogre$ whereis libtool
libtool: /usr/bin/libtool /usr/share/libtool /usr/share/man/man1/libtool.1.gz
marcus@marcus-laptop:/src/python-ogre$ /usr/bin/libtool --version
ltmain.sh (GNU libtool) 2.2.6b
Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996

Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
marcus@marcus-laptop:/src/python-ogre$ libtool --version
ltmain.sh (GNU libtool) 2.2.6b
Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996

Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
marcus@marcus-laptop:/src/python-ogre$


/src/python-ogre/CEGUI-0.7.1 directory, there is also a libtool executable;

marcus@marcus-laptop:/src/python-ogre/CEGUI-0.7.1$ ./libtool --version
ltmain.sh (GNU libtool) 2.2.6
Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996

Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


I guess one viable option would be to temporarily downgrade libtool on my system to 2.2.6, but I wouldn't know how to downgrade (there isn't an apt-get downgrade is there?)

Thank you for helping,
Vi3

[EDIT]I removed the libtool file from the directory, and ran ./bootstrap again, which replaced libtool right there. the ./configure script also adds the stupid libtool file, so I removed it and made a symbolic link to the libtool in /usr/bin. After that, things are working so far; at least I made it past that error. I'll edit this post again later with success or failure.

Vi3GameHkr

10-02-2011 18:20:54

Okay, so python-ogre/demos/cegui/Demo_CEGUI_Gui.py and python-ogre/demos/cegui/Demo_CEGUI_NewGui.py both return the following error when run:

OGRE EXCEPTION(2:InvalidParametersException): Unable to load image: Image format is unknown. Unable to identify codec. Check it or specify format explicitly. in Image::load at /src/python-ogre/ogre/OgreMain/src/OgreImage.cpp (line 405)

However, some of the other demos (Demo_CEGUI_Facial.py for example) return the following:

File "Demo_CEGUI_Facial.py", line 132, in _createGUI
self.guiRenderer = cegui.OgreCEGUIRenderer(self.renderWindow,ogre.RENDER_QUEUE_OVERLAY, False, 3000, self.sceneManager)
AttributeError: 'module' object has no attribute 'OgreCEGUIRenderer'


When I recompiled it, I ran the following: (working directory at start was python-ogre/CEGUI-0.7.1)
./bootstrap
./configure --prefix=/usr --disable-devil --enable-freeimage=yes --enable-ogre-renderer=yes --with-default-xml-parser=TinyXMLParser --includedir=/usr/include
rm libtool
ln -s /usr/bin/libtool
make
sudo make install
cd ..
python BuildModule.py -g -c cegui --usesystem
python BuildModule.py -b install --usesystem


Any new ideas? I'm gonna check out some of the other GUI options.

dermont

10-02-2011 20:12:46

Okay, so python-ogre/demos/cegui/Demo_CEGUI_Gui.py and python-ogre/demos/cegui/Demo_CEGUI_NewGui.py both return the following error when run:

OGRE EXCEPTION(2:InvalidParametersException): Unable to load image: Image format is unknown. Unable to identify codec. Check it or specify format explicitly. in Image::load at /src/python-ogre/ogre/OgreMain/src/OgreImage.cpp (line 405)

When I recompiled it, I ran the following: (working directory at start was python-ogre/CEGUI-0.7.1)
./bootstrap
./configure --prefix=/usr --disable-devil --enable-freeimage=yes --enable-ogre-renderer=yes --with-default-xml-parser=TinyXMLParser --includedir=/usr/include
rm libtool
ln -s /usr/bin/libtool
make
sudo make install
cd ..
python BuildModule.py -g -c cegui --usesystem
python BuildModule.py -b install --usesystem



DO you have more than one version of Ogre/CEGUI installed and if so where?. You run the risk of building/linking against different versions of libraries by mixing the build as above.

1) Try:

>> sudo ldconfig

2) Check the libraries that libCEGUIOgreRenderer are linked against:

>> ldd /usr/lib/*CEGUIOgre*0.7.1.so

3) As a final resort, wherever you have installed python-ogre edit ogre/gui/CEGUI/__init__.py to explicitly pre-load all the CEGUI modules.


#elif sys.platform == "linux2":
# ## We need to import the library
# import ctypes
# ctypes.CDLL("libCEGUIBase-0.7.1.so", ctypes.RTLD_GLOBAL)

elif sys.platform == "linux2":
rpath = '/usr/lib'
preloadLibs = ['libCEGUIBase-0.7.1.so',
'libCEGUIOgreRenderer-0.7.1.so',
'libCEGUITinyXMLParser-0.7.1.so',
'libCEGUIFalagardWRBase-0.7.1.so']

## We need to import the library
import ctypes
for lib in preloadLibs:
ctypes.CDLL(os.path.join(rpath,lib), ctypes.RTLD_GLOBAL)
print "Preloading Lib %s" % os.path.join(rpath,lib)



However, some of the other demos (Demo_CEGUI_Facial.py for example) return the following:

File "Demo_CEGUI_Facial.py", line 132, in _createGUI
self.guiRenderer = cegui.OgreCEGUIRenderer(self.renderWindow,ogre.RENDER_QUEUE_OVERLAY, False, 3000, self.sceneManager)
AttributeError: 'module' object has no attribute 'OgreCEGUIRenderer'


Those demos probably need updating for the 1.6.4 branch you can find the updated versions for CEGUI 0.7.1:
http://python-ogre.svn.sourceforge.net/ ... mos/cegui/

Vi3GameHkr

11-02-2011 01:31:47

Thanks for the link at the end. So should I wipe everything and build the whole thing from step 1 again? Or should I just compile from step 1, and force any overwrites? I only have one version of Ogre/CEGUI installed on both of my machines.

1 & 2) Also, libCEGUIOgreRenderer is not in the output as follows:
marcus@marcus-desktop:~$ sudo ldconfig
marcus@marcus-desktop:~$ ldd /usr/lib/*CEGUIOgre*0.7.1.so
linux-gate.so.1 => (0x00227000)
libOgreMain.so.1 => /usr/lib/libOgreMain.so.1 (0x00a19000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00580000)
libCEGUIBase-0.7.1.so => /usr/local/lib/libCEGUIBase-0.7.1.so (0x0059a000)
libglut.so.3 => /usr/lib/libglut.so.3 (0x0029c000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x0097a000)
libGL.so.1 => /usr/lib/nvidia-current/libGL.so.1 (0x00110000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x001d9000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x002f3000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0030c000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x001e2000)
libm.so.6 => /lib/libm.so.6 (0x001fe000)
libc.so.6 => /lib/libc.so.6 (0x00f9c000)
libz.so.1 => /lib/libz.so.1 (0x00228000)
libzzip-0.so.13 => /usr/lib/libzzip-0.so.13 (0x00848000)
libfreeimage.so.3 => /usr/lib/libfreeimage.so.3 (0x1f77d000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x003f7000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x0084f000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00558000)
libXt.so.6 => /usr/lib/libXt.so.6 (0x0023d000)
libXaw.so.7 => /usr/lib/libXaw.so.7 (0x004d2000)
libboost_thread.so.1.42.0 => /usr/lib/libboost_thread.so.1.42.0 (0x002d2000)
libboost_date_time.so.1.42.0 => /usr/lib/libboost_date_time.so.1.42.0 (0x0046e000)
/lib/ld-linux.so.2 (0x009fb000)
libpcre.so.3 => /lib/libpcre.so.3 (0x20877000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00290000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x00480000)
libnvidia-tls.so.260.19.06 => /usr/lib/nvidia-current/tls/libnvidia-tls.so.260.19.06 (0x00224000)
libnvidia-glcore.so.260.19.06 => /usr/lib/nvidia-current/libnvidia-glcore.so.260.19.06 (0x0b8be000)
libdl.so.2 => /lib/libdl.so.2 (0x00296000)
libuuid.so.1 => /lib/libuuid.so.1 (0x002e6000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x0048e000)
libXmu.so.6 => /usr/lib/libXmu.so.6 (0x00530000)
libXpm.so.4 => /usr/lib/libXpm.so.4 (0x00547000)
librt.so.1 => /lib/librt.so.1 (0x00568000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x002eb000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x004a8000)


3) I changed ogre/gui/CEGUI/__init__.py accordingly.

dermont

11-02-2011 06:23:31

Thanks for the link at the end. So should I wipe everything and build the whole thing from step 1 again? Or should I just compile from step 1, and force any overwrites? I only have one version of Ogre/CEGUI installed on both of my machines.

1 & 2) Also, libCEGUIOgreRenderer is not in the output as follows:
marcus@marcus-desktop:~$ sudo ldconfig
marcus@marcus-desktop:~$ ldd /usr/lib/*CEGUIOgre*0.7.1.so
linux-gate.so.1 => (0x00227000)
libOgreMain.so.1 => /usr/lib/libOgreMain.so.1 (0x00a19000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00580000)
---> libCEGUIBase-0.7.1.so => /usr/local/lib/libCEGUIBase-0.7.1.so (0x0059a000)

Your output from ldd suggests that you have CEGUI installed in both /usr/lib and /usr/local/lib. If you are installing the python-ogre libs to /usr I would remove the CEGUI libs from /usr/local/lib and includes from from usr/local/include/CEGUI.

Then rerun "sudo ldconfig". Editing the __init__.py to explicitly load the libs should resolved this.

dermont

11-02-2011 08:01:12

[EDIT2:]I got it compiled by removing libtool from the CEGUI-0.7.1 folder, and instead creating a symbolic link to /usr/bin/libtool. Now back to my original question. Read next post

Sorry for the delay. I thought I had it set to replies would be emailed to me.

marcus@marcus-laptop:/src/python-ogre$ whereis libtool
libtool: /usr/bin/libtool /usr/share/libtool /usr/share/man/man1/libtool.1.gz
marcus@marcus-laptop:/src/python-ogre$ /usr/bin/libtool --version
ltmain.sh (GNU libtool) 2.2.6b
Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996

Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
marcus@marcus-laptop:/src/python-ogre$ libtool --version
ltmain.sh (GNU libtool) 2.2.6b
Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996

Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
marcus@marcus-laptop:/src/python-ogre$


/src/python-ogre/CEGUI-0.7.1 directory, there is also a libtool executable;

marcus@marcus-laptop:/src/python-ogre/CEGUI-0.7.1$ ./libtool --version
ltmain.sh (GNU libtool) 2.2.6
Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996

Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


I guess one viable option would be to temporarily downgrade libtool on my system to 2.2.6, but I wouldn't know how to downgrade (there isn't an apt-get downgrade is there?)

Thank you for helping,
Vi3

[EDIT]I removed the libtool file from the directory, and ran ./bootstrap again, which replaced libtool right there. the ./configure script also adds the stupid libtool file, so I removed it and made a symbolic link to the libtool in /usr/bin. After that, things are working so far; at least I made it past that error. I'll edit this post again later with success or failure.



Ok,I don't think this would resolve the problem you guys are having with the libtool version. Did you run the 00-PreReqs.sh script?. If so you will see a that an older version of automake (and aclocal) is being installed i.e. 1.9; I think it should be simply automake.
You should check with Andy first if there is a particular reason for using 1.9.


#automake1.9 \
automake \


If you are on Ubuntu sudo apt-get install automake and start Synaptic Package Manager and ensure the latest packages (automake, autoconf,libtool etc.) are installed.

Edit:
The above probably won't make any difference.

The only way I could simulate your problem was installing a later version of libtool to a temp dir, running that and loading the macros from an existing libtool installation. Are you sure you don't have more than one version of libtool/libtoolize installed?

AFAIK the relevant files are installed in the following locations:

/usr/share/libtool/config/ltmain.sh
/usr/share/aclocal/libtool.m4
>> cat /usr/share/aclocal/ltversion.m4


Are there macros i.e. remnants from a previous install being picked up, say in /usr/local/share/aclocal

argz.m4 libtool.m4 ltdl.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4


As a last resort you could explicitly set the macro path for aclocal in bootstrap.sh:

aclocal -I /usr/share/aclocal


All the above shouldn't be needed bootstrap.sh should delete the autom4te.cache dir and do everything else.

There is also an a post here which may interest you:
http://osdir.com/ml/libtool-gnu/2010-12/msg00010.html

Someone else has reported a similar problem with the libtool mismatch version building OIS, so it may be a problem with the python-ogre build system, though I don't think so.

Vi3GameHkr

12-02-2011 00:31:48

I indeed have automake 1.11.1, so I didn't install 1.9 with the prereqs script.

I checked out /usr/share/libtool/config/ltmain.sh, which contained the following right off the bat:
PROGRAM=ltmain.sh
PACKAGE=libtool
VERSION=2.2.6
TIMESTAMP=""
package_revision=1.3012


Also, I did the following:
sudo rm /usr/local/lib/libCEGUI*
sudo rm -r /usr/local/include/CEGUI
sudo ldconfig


And now ldd returns:
marcus@marcus-desktop:/src$ ldd /usr/lib/*CEGUIOgre*0.7.1.so
linux-gate.so.1 => (0x0016b000)
libOgreMain.so.1 => /usr/lib/libOgreMain.so.1 (0x00599000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00eaf000)
libCEGUIBase-0.7.1.so => /usr/lib/libCEGUIBase-0.7.1.so (0x00270000)
libglut.so.3 => /usr/lib/libglut.so.3 (0x00110000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x0016c000)
libGL.so.1 => /usr/lib/nvidia-current/libGL.so.1 (0x00b1c000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00146000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x0014f000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00be5000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x001dc000)
libm.so.6 => /lib/libm.so.6 (0x00210000)
libc.so.6 => /lib/libc.so.6 (0x00ec9000)
libz.so.1 => /lib/libz.so.1 (0x001f8000)
libzzip-0.so.13 => /usr/lib/libzzip-0.so.13 (0x00236000)
libfreeimage.so.3 => /usr/lib/libfreeimage.so.3 (0x06d6c000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00cd0000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x1a394000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x0023d000)
libXt.so.6 => /usr/lib/libXt.so.6 (0x00505000)
libXaw.so.7 => /usr/lib/libXaw.so.7 (0x00d47000)
libboost_thread.so.1.42.0 => /usr/lib/libboost_thread.so.1.42.0 (0x00e89000)
libboost_date_time.so.1.42.0 => /usr/lib/libboost_date_time.so.1.42.0 (0x00e27000)
/lib/ld-linux.so.2 (0x00de3000)
libpcre.so.3 => /lib/libpcre.so.3 (0x00da5000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x0024d000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x00253000)
libnvidia-tls.so.260.19.06 => /usr/lib/nvidia-current/tls/libnvidia-tls.so.260.19.06 (0x00168000)
libnvidia-glcore.so.260.19.06 => /usr/lib/nvidia-current/libnvidia-glcore.so.260.19.06 (0x1d8a2000)
libdl.so.2 => /lib/libdl.so.2 (0x00261000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00265000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00558000)
libXmu.so.6 => /usr/lib/libXmu.so.6 (0x00e01000)
libXpm.so.4 => /usr/lib/libXpm.so.4 (0x00e39000)
librt.so.1 => /lib/librt.so.1 (0x00dda000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x0026a000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00e18000)


Despite everything I still can't get CEGUI to work on my Linux install, although it does work in windows, so I wouldn't know what's different. I'm thinking of reinstalling all of python-ogre this weekend though, but I'd probably install the latest version from the trunk, which is why I asked if I should simply start from step 1 or try to remove some stuff first.

dermont

12-02-2011 07:33:00

I indeed have automake 1.11.1, so I didn't install 1.9 with the prereqs script.

I checked out /usr/share/libtool/config/ltmain.sh, which contained the following right off the bat:
PROGRAM=ltmain.sh
PACKAGE=libtool
VERSION=2.2.6
TIMESTAMP=""
package_revision=1.3012




Therein lies your problem, the above version should read 2.2.6b, reinstall the latest version of libtool (2.2.6b for Ubuntu here).


And now ldd returns:
marcus@marcus-desktop:/src$ ldd /usr/lib/*CEGUIOgre*0.7.1.so
linux-gate.so.1 => (0x0016b000)
libOgreMain.so.1 => /usr/lib/libOgreMain.so.1 (0x00599000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00eaf000)
libCEGUIBase-0.7.1.so => /usr/lib/libCEGUIBase-0.7.1.so (0x00270000)
libglut.so.3 => /usr/lib/libglut.so.3 (0x00110000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x0016c000)
libGL.so.1 => /usr/lib/nvidia-current/libGL.so.1 (0x00b1c000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00146000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x0014f000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00be5000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x001dc000)
libm.so.6 => /lib/libm.so.6 (0x00210000)
libc.so.6 => /lib/libc.so.6 (0x00ec9000)
libz.so.1 => /lib/libz.so.1 (0x001f8000)
libzzip-0.so.13 => /usr/lib/libzzip-0.so.13 (0x00236000)
libfreeimage.so.3 => /usr/lib/libfreeimage.so.3 (0x06d6c000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00cd0000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x1a394000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x0023d000)
libXt.so.6 => /usr/lib/libXt.so.6 (0x00505000)
libXaw.so.7 => /usr/lib/libXaw.so.7 (0x00d47000)
libboost_thread.so.1.42.0 => /usr/lib/libboost_thread.so.1.42.0 (0x00e89000)
libboost_date_time.so.1.42.0 => /usr/lib/libboost_date_time.so.1.42.0 (0x00e27000)
/lib/ld-linux.so.2 (0x00de3000)
libpcre.so.3 => /lib/libpcre.so.3 (0x00da5000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x0024d000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x00253000)
libnvidia-tls.so.260.19.06 => /usr/lib/nvidia-current/tls/libnvidia-tls.so.260.19.06 (0x00168000)
libnvidia-glcore.so.260.19.06 => /usr/lib/nvidia-current/libnvidia-glcore.so.260.19.06 (0x1d8a2000)
libdl.so.2 => /lib/libdl.so.2 (0x00261000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00265000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00558000)
libXmu.so.6 => /usr/lib/libXmu.so.6 (0x00e01000)
libXpm.so.4 => /usr/lib/libXpm.so.4 (0x00e39000)
librt.so.1 => /lib/librt.so.1 (0x00dda000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x0026a000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00e18000)


Unfortunately ldd will only list the libraries linked against based on where the dynamic loader finds these libraries (as you have already seen).

1) What version of freeimage are you using, was this installed from python-ogre or apt?
>> ls /usr/local/lib/*freeimage*

2) Do the CEGUI C++ demos work?

3) As a quick test, from the python ogre directory try removing the cegui module
python-ogre/build_dir_2.6/cegui_0.7.1/cegui.so
python-ogre/packages_2.6/ogre/gui/CEGUI/_cegui_.so
Rebuild/install the cegui module (should be quick only a case of re-linking)


Despite everything I still can't get CEGUI to work on my Linux install, although it does work in windows, so I wouldn't know what's different. I'm thinking of reinstalling all of python-ogre this weekend though, but I'd probably install the latest version from the trunk, which is why I asked if I should simply start from step 1 or try to remove some stuff first.


I'm not sure there is an uninstall option for python-ogre, your best bet would be to check/ask on the developers group.
http://groups.google.com/group/python-ogre-developers

If there isn't can you specify exactly what prerequisites you installed via the python-ogre build system so someone can advise accordingly.

Vi3GameHkr

13-02-2011 15:06:53

Well I couldn't find freeimage in /usr/local/lib but
locate freeimage returned a list of results. Some of them are:
/usr/lib/libfreeimage-3.14.1.so
/usr/lib/libfreeimage.a
/usr/lib/libfreeimage.so
/usr/lib/libfreeimage.so.3
/usr/lib/libfreeimageplus-3.14.1.so
/usr/lib/libfreeimageplus.a
/usr/lib/libfreeimageplus.so
/usr/lib/libfreeimageplus.so.3


I should wonder if there is any significant difference between /usr/local/lib.

In the CEGUI C++ demos located in CEGUI-0.7.1/Samples, I got the same error message:
OGRE EXCEPTION(2:InvalidParametersException): Unable to load image: Image format is unknown. Unable to identify codec. Check it or specify format explicitly. in Image::load at /src/python-ogre/ogre/OgreMain/src/OgreImage.cpp (line 405)
And I suppose it is self-evident that the demos do work when I select OpenGL GUI Renderer instead of Ogre3D immediately after starting the demo.

Later today I'll see if I can recreate the error on a Live session.

dermont

13-02-2011 16:09:52

You are using the 1-6-4 branch right (older version of Ogre 1.7.0RC1)? The only other things I can think of is that:

a) somehow the Ogre build hasn't found the FreeImage lib during the build, maybe try "ldd /usr/lib/*OgreMain*" to see if it's been built using FreeImage. Also try running the Ogre SampleBrowser.

b) You are loading plugins not compiled against your version of Ogre (unlikely since you only have one version of Ogre installed).

c) The FreeImage lib supplied by apt is causing the problem, maybe you may have to build from source, but this hasn't been an issue for others, so I would leave this as a last resort.

If (a) isn't the problem I would start again:
- cd to the python-ogre OIS/Ogre/CEGUI source directories and run sudo make uninstall. Check that you have no versions of these libs or remnants left including /usr/local/lib/pkgconfig/*CEGUI*.pc and /usr/local/lib/pkgconfig/*OGRE*.pc (from your other installations).

- delete (or rename) your /usr/lib/python2.6/dist-packages/ogre dir

- download a fresh copy of trunk and start again, which I think is what you want to do anyway. You already have the dependencies, so you can start at the:


python python-ogre/BuildModule.py -r ois ogre
python python-ogre/BuildModule.py -b ois ogre --usesystem
....

Vi3GameHkr

13-02-2011 19:59:17

Well I thought I'd try to install MyGUI, but that didn't happen; I had to compile it and stuff myself, environment.py only tells it to unzip. Then the generator complained about not finding /usr/MyGUI something.. Then I decided I'd go ahead and try the trunk version on a live session. I popped the Ubuntu 10.10 live cd in the drive...

But I guess I forgot to reboot so I was still in my normal Ubuntu install; made a new folder called /home/marcus/pyogre, downloaded ogre 1.7.2 from the trunk, and installed ogre, ois, and cegui. CEGUI was version 0.7.5, The C++ Samples worked with Ogre, so I generated and compiled the wrapper code for ogre, ois and cegui individually in that order and, well needless to say, it worked. I have a good feeling now that the problem was in the build somewhere. My laptop is still virgin to the trunk version, so I'll experiment a little and see if I come up with something there. Since my laptop has all my editor preferences, I'll just edit on my laptop and deploy on my desktop until I get tired of that.

My beginner's linux philosophy has always been: "If it doesn't work, upgrade or reinstall." Well in the context, I have proven that philosophy over and over.

Thank you for your help, I greatly appreciate it!
Vi3