I have finally gotten around to doing some more work on the
debian/ubuntu packages.
Now I need testers! Currently I only have packages for ubuntu hardy
i386, but I hope to add support for gusty and debian unstable (both i386
and amd64!). I will also soon push code to the svn repository which lets
you easily build your own debs too.
Add the following repository to your source list,
deb http://packages.thousandparsec.net/ubuntu hardy universe
Then just do an
apt-get install python-ogre
Life has never been this easy before!
The following modules are supported,
ois, cegui, ogre (core modules)
noise, betagui, cadunetree, caelum, et, plib, ogreforests, ogreal,
watermesh (extra modules)
I have no idea what most of these modules do, so I'm not sure they all
work. I will add the demo modules sometime in the near future.
Tim 'Mithro' Ansell
I'm installing them right now.
Lakin
I appreciate any feedback, bug reports, etc.
Tim 'Mithro' Ansell
> Lakin
>
<snip>
@Tim:
Thanks for this packaging! I intended to do Debian packaging at some
point, but it never got around. I hope you'll port it to Debian
Lenny/Sid soon. In the meantime, when I get hold of an Ubuntu machine
I'll try it.
--
Regards,
Ivan Vučica
OBJECT Networks :: www.objectnetworks.net
Cateia Games :: www.cateia.com
I don't know how to debug this, so here's just the installation log.
Note, the possible conflict may ONLY come from previous attempted
installation of Python-Ogre from source, although I doubt this (unless
the Wiki instructions install system wide binaries? :P)
ivucica@riki:~/development/pygccxml$ sudo apt-get install python-ogre
[sudo] password for ivucica:
Reading package lists... Done
Building dependency tree
Reading state information... Done
python-ogre is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 59 not upgraded.
1 not fully installed or removed.
After this operation, 0B of additional disk space will be used.
Setting up python-ogre (0.0.0-1) ...
pycentral: pycentral pkginstall: not overwriting local files
pycentral pkginstall: not overwriting local files
dpkg: error processing python-ogre (--configure):
subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
python-ogre
E: Sub-process /usr/bin/dpkg returned an error code (1)
--
I don't have a lenny/sid machine available to build on. I have however
pushed the code which I used to generate these debs into the Python-ogre
repository (thank Andy for giving me access).
You should be able to produce debs for Lenny/Sid by doing the following,
1. Checking out python-ogre "svn co
https://python-ogre.svn.sourceforge.net/svnroot/python-ogre/trunk/python-ogre"
2. Running the prereq script "./python-ogre/scripts/00-PreReqs.sh"
3. Running the buildeb script "./python-ogre/scripts/build-deb.sh"
*WARNING*: The scripts are very fragile, do not attempt this unless you
know what you are doing!!!!!! I am working on making this easier for the
general user.
Hope this helps,
Tim 'Mithro' Ansell
Do you have a previous version of python-ogre installed (IE from
building the development version yourself)? If so you will need to
remove it by hand.
Pycentral is complaining that it will overwrite files which already
exist.
Are you installing these on Ubuntu Hardy (or trying to install on
debian)? There are differences in pycentral that will make it
impossible.
Tim 'Mithro' Ansell
I am currently only building the "stable" version of python-ogre (IE the
one built against 1.4.x).
I will look into the "unstable" version once I get some more time.
Tim 'Mithro' Ansell
You should remove plugins.cfg and link /etc/OGRE/plugins.cfg to the
local directory (IE the command you need to run is "ln
-s /etc/OGRE/plugins.cfg plugins.cfg").
> [code]Loading library /usr/lib/OGRE/Plugin_CgProgramManager.so
> OGRE EXCEPTION(7:): Could not load dynamic library /usr/lib/OGRE/
> Plugin_CgProgramManager.so. System Error: /usr/lib/OGRE/
> Plugin_CgProgramManager.so: cannot open shared object file: No such
> file or directory in DynLib::load at OgreDynLib.cpp (line 80)[/code]
The CgProgramManager is not part of the ogre3d Ubuntu ships. See what
you have to do above. I hope to create a python-ogre-demos package in
the near future.
> is it me doing something wrong or is there something not right with
> the .deb?
Nope the deb works fine.
>
<snip>
Tim 'Mithro' Ansell
It's on Ubuntu Hardy on company's PC :)
Is it possible to make Pycentral print out exactly WHICH file is it
attempting to overwrite? DPKG usually prints that out when it hits a
file replacement error, so can you make Pycentral do the same in this
postinstall config step?
Has this machine had python ogre installed at any time in the past?
> Is it possible to make Pycentral print out exactly WHICH file is it
> attempting to overwrite? DPKG usually prints that out when it hits a
> file replacement error, so can you make Pycentral do the same in this
> postinstall config step?
I have no idea :/ An strace or ltrace might give us an idea.
I'm assuming it is one of the files under
/usr/lib/python2.5/site-packages/ogre/
That directory should not exist until after you install the python-ogre.
Tim 'Mithro' Ansell
Only as described on the wiki.
I don't _think_ it was globally installed, but I can't remember what
kind of junk I did over a month ago.
> I have no idea :/ An strace or ltrace might give us an idea.
No pycentral --help? (I'm currently under Evil OS)
>
> I'm assuming it is one of the files under
> /usr/lib/python2.5/site-packages/ogre/
>
> That directory should not exist until after you install the python-ogre.
Hm; I'll check it out.
It is likely that you did and hence python central is refusing to
overwrite these unknown files.
> > I have no idea :/ An strace or ltrace might give us an idea.
>
> No pycentral --help? (I'm currently under Evil OS)
Nothing in there gives any useful information about this problem.
> > I'm assuming it is one of the files under
> > /usr/lib/python2.5/site-packages/ogre/
> >
> > That directory should not exist until after you install the python-ogre.
>
> Hm; I'll check it out.
Tim 'Mithro' Ansell
I have no idea what you are saying above. Can you send some code which
produces the problem (or which demo is failing?).
<snip>
Tim 'Mithro' Ansell
I have no idea :/ An strace or ltrace might give us an idea.
I'm assuming it is one of the files under
/usr/lib/python2.5/site-packages/ogre/
That directory should not exist until after you install the python-ogre.
From your log this may be your problem:
...
Error: API mismatch: the NVIDIA kernel module has version 173.14.05,..
but this NVIDIA driver component has version 173.14.09. Please make
sure that the kernel module and all NVIDIA driver components
have the same version.
> ivucica@riki:/mnt/winxp/LOCV SVN/trunk$ python main.py
> data/texts: loaded 214 texts from 7 files
> Traceback (most recent call last):
> File "main.py", line 1, in <module>
> from src import init, logger
> File "/mnt/winxp/SVN/trunk/src/init.py", line 1, in <module>
> from project import *
> File "/mnt/winxp/SVN/trunk/src/project.py", line 23, in <module>
> from src import app, camera, session, localisation, audio,
> character, jobs, path, ui, actions, dialog
> File "/mnt/winxp/SVN/trunk/src/audio.py", line 2, in <module>
> import ogre.sound.OgreAL as OgreAL
> File
> "/usr/lib/python2.5/site-packages/ogre/sound/OgreAL/__init__.py", line
> 6, in <module>
> from _ogreal_ import *
> ImportError: /usr/lib/python2.5/site-packages/ogre/sound/OgreAL/_ogreal_.so: undefined symbol: _ZN5boost6python8indexing15python_iteratorC1ENS0_3api6objectE
<snip>
This error is now fixed but I have yet to upload the new debs. I'm still
working on fixing a bunch of other build errors.
Tim 'Mithro' Ansell
>
Anything which has a "non-free" license (what type of license is
OgreNEWT under) or "non-free" dependency will probably never be included
in the default build of the debs.
You may however be able to build your own package which adds support for
that once I have finished the packaging stuff.
Tim 'Mithro' Ansell
> Stefan Stammberger
<snip>
Gah, there isn't an edit button on these boards.
Step 1 - Remove everything you have
Step 2 - Create a fresh checkout
cd ~
mkdir development
cd development
svn co https://python-ogre.svn.sourceforge.net/svnroot/python-ogre/trunk/python-ogre python-ogre
Step 3 - Create an empty file in the "python-ogre" directory called
"STABLE"
cd python-ogre
touch STABLE
Step 4 - Continue from Step 2 on the wiki.
I have AMD64 debian/ubuntu packages but they just segfault when running
anything and I've yet to figure out why. It occurs somewhere in Boost
and I have yet to convince boost to build with debug symbols.
Tim
Debug symbols?
If I want full debug information, I remove all references to -strip
and I replace any reference to -g0, -g1, and -g2 with -g3 in the
makefiles. If that's not enough I can catch some bugs in the way I use
STL by breaking binary compatibility with -D_GLIBCXX_DEBUG ; breaking
binary compatibility means that all other C++ libraries and all other
C++ code, in general, has to be built with this option. This turns on
some safeguards which noticeably slow down the code, but helps in
debugging some crashes (helped me on a number of occasions). I'm not
sure how feasible this is since you would need to rebuild a lot of
code, and having debugging information slows down the build process
too (noticeably for some projects, in my case).
Hope at least some of this information helps.
That is the same problem I am having with AMD64 platforms here.
Tim
<snip>
That is on the todo list, but it's not likely to happen any time soon.
> I really appreciate the work you're putting into these packages :).
I appreciate any support in the form of,
* Hacking on Thousand Parsec - http://www.thousandparsec.net/
* Creating cool Python Ogre games
* Sending something Andy Miller's way.
Tim
Thousand Parsec has nothing to do with Python Ogre, hacking on Thousand
Parsec will give me more time to spend working on Python Ogre however.
How is it Python Ogre crippled to support Thousand Parsec?
You welcome to go back to r631 and live there the rest of your life.
> >> Sending something Andy Miller's way.
> Yep, it's not exactly as if others haven't done this already. The
> current windows release is based on the svn version of Ogre.
You can still build Python Ogre on Linux with the latest and greatest
Ogre, Boost and everything. Infact, that is the default option!
There is still the outstanding Boost problem but I have been
concentrating on AMD64 support at the moment.
I have however been working on the older version as it introduces less
complexity when packaging. Once the basics of packaging are done, then
we can more forward to the latest and greatest.
> The
> current Linux build is pretty much a shambles and based on the above
> with so many obvious bugs/memory leaks.
Please report the issues, I have yet to see any obvious bugs or memory
leaks in my testing (but then I only use a small part of Python Ogre and
have a crappy video card).
> If you expect people to people to contribute you should at least have
> some consistency in the STABLE/UNSTABLE builds and allow people to
> submit patches via the sourceforge tracker.
We are working towards that, I only have limited time and a lot of other
responsibilities. In fact, as far as I can see we have applyed all your
patches from the SF tracker as soon as they come in.
Tim 'Mithro' Ansell
<snip>
This is correct, this is where I'm spending my time at the moment. (As
Ogre 1.4.x is the only "released" and commonly available version.)
> Linux UNSTABLE - hardwired to version 1.4
As far as I know, Linux unstable should be using the same version as
Windows. As I am not currently working on UNSTABLE I'm not sure why this
is incorrect.
> Windows STABLE - 1.4
> Windows UNSTABLE - 1.7
> Windows Binary 1.2RC1 - Ogre 1.7
> Windows Binary 1.2RC2 - Ogre 1.6
I thought Andy was working against Ogre 1.7?
> For at me at least the current UNSTABLE build script on Linux fails
> since the multithread version of boost 1.3.5 is built by default. The
> build seems to assume that the single threaded version of boost is
> being used. The boost-indexing Makefile builds against 1_34_1. Someone
> has already supplied a patch on this mailing list.
I somehow missed this patch. (I got distracted by trying to auto-detect
the boost version). It (well a version) is now committed,
boost_python_index should now build against both boost 1.35 and 1.34
(and possibly even 1.36). It also defaults to the MT version.
> >> You welcome to go back to r631 and live there the rest of your life.
>
> Since I'm building against trunk Ogre1.7 I'm only really interested in
> any changes that Andy may make in code generation. However, since on
> Linux, the build script's latest and greatest version of Ogre is
> 1.4.9 it would be nice to test any patches against that before
> submitting.
Agreed. I would love to be able to run a test suite after each change to
make sure I have not broken anything.
> >>I have however been working on the older version as it introduces less
> >> complexity when packaging. Once the basics of packaging are done, then
> >> we can more forward to the latest and greatest.
>
> Confused, I thought the default option was already the latest and
> greatest.
The default option for Python Ogre is the latest and greatest.
What I was meaning was that when I have finished getting STABLE working
in packages I can then work on doing packages for UNSTABLE.
> >>Please report the issues, I have yet to see any obvious bugs or memory
> >> leaks in my testing (but then I only use a small part of Python Ogre and
> >> have a crappy video card).
>
> Once there is some consistency in the STABLE/UNSTABLE builds I will
> do. Do you have a copy of your unit tests used in testing. Have you
> tried running some of the demos with Valgrind?
Nope, not yet.
It would be very cool to have a test suite which one could run which
after compiling to make sure everything works. I see that Andy and you
have been working on Demos which should be a good start for this!
Tim 'Mithro' Ansell
Just FYI,
The magic incarnation I wanted was to run bjam with "debug-symbols=on".
This will then build debug symbols in the release binary.
I have submitted patches to Debian and Ubuntu so the next releases of
their libboost-dbg packages should actually include proper debug
symbols!
Tim 'Mithro' Ansell
<snip>