Google

Linux Information

A discussion on Python-Ogre, the library which allows you to drive OGRE directly from Python

Moderators: OGRE Team, Python-Ogre Moderators

Re: Linux Information

Postby magcius » Sun Nov 29, 2009 9:50 pm

Getting this while trying to build OGRE-Bullet..

Code: Select all
g++ -o build_dir_2.6/bullet_2.75/btGeneric6DofConstraint.pypp.os -c `pkg-config --cflags OGRE` -I -O3 -I./ -DBOOST_PYTHON_MAX_ARITY=19 -DBOOST_PYTHON_NO_PY_SIGNATURES -I/home/jstpierre/python-ogre/python-ogre/generated/bullet_2.75 -I/home/jstpierre/python-ogre/root/usr/include -L/home/jstpierre/python-ogre/root/usr/lib -fPIC -I/home/jstpierre/python-ogre/root/usr/include/boost -I/home/jstpierre/python-ogre/bullet-2.75/src -I/usr/include/python2.6 -Ibuild_dir_2.6/bullet_2.75/None -Igenerated/bullet_2.75/None generated/bullet_2.75/btGeneric6DofConstraint.pypp.cpp
In file included from /home/jstpierre/python-ogre/root/usr/include/boost/python/object/make_instance.hpp:10,
                 from /home/jstpierre/python-ogre/root/usr/include/boost/python/object/make_ptr_instance.hpp:8,
                 from /home/jstpierre/python-ogre/root/usr/include/boost/python/to_python_indirect.hpp:11,
                 from /home/jstpierre/python-ogre/root/usr/include/boost/python/converter/arg_to_python.hpp:10,
                 from /home/jstpierre/python-ogre/root/usr/include/boost/python/call.hpp:15,
                 from /home/jstpierre/python-ogre/root/usr/include/boost/python/object_core.hpp:12,
                 from /home/jstpierre/python-ogre/root/usr/include/boost/python/args.hpp:25,
                 from /home/jstpierre/python-ogre/root/usr/include/boost/python.hpp:11,
                 from generated/bullet_2.75/btDynamicsWorld.pypp.cpp:3:
/home/jstpierre/python-ogre/root/usr/include/boost/python/converter/registered.hpp: In function ‘const boost::python::converter::registration& boost::python::converter::detail::registry_lookup2(T& (*)()) [with T = void(btDynamicsWorld*, btScalar)]’:
/home/jstpierre/python-ogre/root/usr/include/boost/python/converter/registered.hpp:94:   instantiated from ‘const boost::python::converter::registration& boost::python::converter::detail::registry_lookup1(boost::type<Target>) [with T = void (&)(btDynamicsWorld*, btScalar)]’
/home/jstpierre/python-ogre/root/usr/include/boost/python/converter/registered.hpp:105:   instantiated from ‘const boost::python::converter::registration& boost::python::converter::detail::registered_base<void (&)(btDynamicsWorld*, btScalar)>::converters’
/home/jstpierre/python-ogre/root/usr/include/boost/python/converter/arg_from_python.hpp:269:   instantiated from ‘boost::python::converter::pointer_arg_from_python<T>::pointer_arg_from_python(PyObject*) [with T = void (*)(btDynamicsWorld*, btScalar)]’
/home/jstpierre/python-ogre/root/usr/include/boost/python/arg_from_python.hpp:70:   instantiated from ‘boost::python::arg_from_python<T>::arg_from_python(PyObject*) [with T = void (*)(btDynamicsWorld*, btScalar)]’
/home/jstpierre/python-ogre/root/usr/include/boost/preprocessor/iteration/detail/local.hpp:37:   instantiated from ‘PyObject* boost::python::detail::caller_arity<4u>::impl<F, Policies, Sig>::operator()(PyObject*, PyObject*) [with F = void (*)(btDynamicsWorld&, void (*)(btDynamicsWorld*, btScalar), unsigned int, bool), Policies = boost::python::default_call_policies, Sig = boost::mpl::vector5<void, btDynamicsWorld&, void (*)(btDynamicsWorld*, btScalar), unsigned int, bool>]’
/home/jstpierre/python-ogre/root/usr/include/boost/python/object/py_function.hpp:38:   instantiated from ‘PyObject* boost::python::objects::caller_py_function_impl<Caller>::operator()(PyObject*, PyObject*) [with Caller = boost::python::detail::caller<void (*)(btDynamicsWorld&, void (*)(btDynamicsWorld*, btScalar), unsigned int, bool), boost::python::default_call_policies, boost::mpl::vector5<void, btDynamicsWorld&, void (*)(btDynamicsWorld*, btScalar), unsigned int, bool> >]’
generated/bullet_2.75/btDynamicsWorld.pypp.cpp:671:   instantiated from here
/home/jstpierre/python-ogre/root/usr/include/boost/python/converter/registered.hpp:86: error: no matching function for call to ‘register_shared_ptr1(void (*)(btDynamicsWorld*, btScalar))’
scons: *** [build_dir_2.6/bullet_2.75/btDynamicsWorld.pypp.os] Error 1
scons: building terminated because of errors.
PythonOgre.BuildModule: WARNING  Task Failed

magcius
Gnoblar
 
Posts: 12
Kudos: 0
Joined: 29 Nov 2009

Re: Linux Information

Postby dermont » Mon Nov 30, 2009 1:26 pm

I think your bug is related to the following call back in btDynamicsWorld.h:
Code: Select all
/// Type for the callback for each tick
typedef void (*btInternalTickCallback)(btDynamicsWorld *world, btScalar timeStep);


You will probably have to hand-wrap this or something similar, however as a test you can exclude the above, so it builds:

Code: Select all
Index: customization_data.py
===================================================================
--- customization_data.py   (revision 1030)
+++ customization_data.py   (working copy)
@@ -19,11 +19,14 @@
     elif os.name == 'nt':
         ret.append('BulletMultiThreaded/Win32ThreadSupport.h')
         ret.append('BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h')
-    elif os.name == 'linux':
+    elif os.name == 'posix':
         ret.append('BulletMultiThreaded/PosixThreadSupport.h')
         ret.append('BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h')
     return ret

Index: generate_code.py
===================================================================
--- generate_code.py   (revision 1030)
+++ generate_code.py   (working copy)
@@ -122,7 +122,9 @@
             ,'::btCollisionShape::getName'
           

             # new in .74
-            ,'::btSliderConstraint::testLinLimits2'
+            ,'::btSliderConstraint::testLinLimits2'
+            ,'::btDynamicsWorld::setInternalTickCallback' ## New in 2.75(??) InternalTickCallback
+
             ]
     for e in excludes:
         print "excluding function", e
@@ -171,8 +173,12 @@
 #          c.exclude()

     excludes = ['::btPolyhedralConvexShape::m_optionalHull'  ## needs Hull from Extras
-                ,'::btRaycastVehicle::m_wheelInfo' ## TOFIX -- might be a bullet issue with wheels
-            ]
+                ,'::btRaycastVehicle::m_wheelInfo' ## TOFIX -- might be a bullet issue with wheels
+                ,'btDynamicsWorld::m_internalTickCallback'
+                ,'btDynamicsWorld::m_internalPreTickCallback' ## InternalTickCallback
+
+            ]
+

     for e in excludes:
       try:
         global_ns.variable(e).exclude()
@@ -196,8 +202,13 @@
                 o.exclude()
     global_ns.class_('btQuaternion').operators("operator-", arg_types=[]).exclude()

+   
+    noncopy=['btDbvtBroadphase' ]
+    for c in noncopy:
+        main_ns.class_(c).noncopyable = True
+
+
-   

 ############################################################

 ##

 ##  And there are things that manually need to be INCLUDED

@@ -402,11 +413,14 @@
                         os.path.join( environment.bullet.root_dir, "python_bullet.h" )
                         , environment.bullet.cache_file )
 

     defined_symbols.append( 'VERSION_' + environment.bullet.version ) 
-   
+    if sys.platform.startswith ('linux'):
+        defined_symbols.append( 'USE_PTHREADS' ) 
+
+
     #
     # build the core Py++ system from the GCCXML created source
     #   


Edit: the patch format is screwed up within the code blocks, find patch attached below.
dermont
Bugbear
 
Posts: 895
Kudos: 37
Joined: 27 Sep 2005

Re: Linux Information

Postby magcius » Mon Nov 30, 2009 5:58 pm

Thanks, that fixed it.

Now for OGREBulletC

Code: Select all
g++ -o build_dir_2.6/ogrebulletc_r2684/OgreBulletCollisionsRay.os -c `pkg-config --cflags OGRE` -I -O3 -I./ -DBOOST_PYTHON_MAX_ARITY=19 -DBOOST_PYTHON_NO_PY_SIGNATURES -I/home/jstpierre/python-ogre/python-ogre/generated/ogrebulletc_r2684 -D_PRECOMP -fno-inline -I/home/jstpierre/python-ogre/root/usr/include -L/home/jstpierre/python-ogre/root/usr/lib -fPIC -I/home/jstpierre/python-ogre/root/usr/include/boost -I/home/jstpierre/python-ogre/bullet-2.75/src -I/home/jstpierre/python-ogre/bullet-2.75/src/BulletCollision -IThirdParty/ogrebullet/Collisions -I/home/jstpierre/python-ogre/root/usr/include/OGRE -I/home/jstpierre/python-ogre/root/usr/include/OGRE -I/home/jstpierre/python-ogre/bullet-2.75/Extras/ConvexDecomposition -I/usr/include/python2.6 -Ibuild_dir_2.6/ogrebulletc_r2684/None -Igenerated/ogrebulletc_r2684/None generated/ogrebulletc_r2684/OgreBulletCollisionsRay.cpp
generated/ogrebulletc_r2684/OgreBulletCollisionsRay.cpp: In member function ‘bool OgreBulletCollisions::CollisionRayResultCallback::doesCollide() const’:
generated/ogrebulletc_r2684/OgreBulletCollisionsRay.cpp:76: error: ‘struct btCollisionWorld::RayResultCallback’ has no member named ‘HasHit’
generated/ogrebulletc_r2684/OgreBulletCollisionsMultiSphereShape.cpp: In constructor ‘OgreBulletCollisions::MultiSphereCollisionShape::MultiSphereCollisionShape(const Ogre::Vector3&, const Ogre::Vector3*, const Ogre::Real*, int)’:
generated/ogrebulletc_r2684/OgreBulletCollisionsMultiSphereShape.cpp:50: error: no matching function for call to ‘btMultiSphereShape::btMultiSphereShape(btVector3, btVector3*, const btScalar*, int&)’
/home/jstpierre/python-ogre/bullet-2.75/src/BulletCollision/CollisionShapes/btMultiSphereShape.h:33: note: candidates are: btMultiSphereShape::btMultiSphereShape(const btVector3*, const btScalar*, int)
/home/jstpierre/python-ogre/bullet-2.75/src/BulletCollision/CollisionShapes/btMultiSphereShape.h:27: note:                 btMultiSphereShape::btMultiSphereShape(const btMultiSphereShape&)
scons: *** [build_dir_2.6/ogrebulletc_r2684/OgreBulletCollisionsMultiSphereShape.os] Error 1
scons: *** [build_dir_2.6/ogrebulletc_r2684/OgreBulletCollisionsRay.os] Error 1
scons: building terminated because of errors.
PythonOgre.BuildModule: WARNING  Task Failed


and OGREBulletD

Code: Select all
g++ -o build_dir_2.6/ogrebulletd_r2684/OgreBulletCollisionsRay.os -c `pkg-config --cflags OGRE` -I -O3 -I./ -DBOOST_PYTHON_MAX_ARITY=19 -DBOOST_PYTHON_NO_PY_SIGNATURES -I/home/jstpierre/python-ogre/python-ogre/generated/ogrebulletd_r2684 -D_PRECOMP -fno-inline -I/home/jstpierre/python-ogre/root/usr/include -L/home/jstpierre/python-ogre/root/usr/lib -fPIC -I/home/jstpierre/python-ogre/root/usr/include/boost -I/home/jstpierre/python-ogre/bullet-2.75/src -IThirdParty/ogrebullet/Collisions -IThirdParty/ogrebullet/Dynamics -I/home/jstpierre/python-ogre/bullet-2.75/src/BulletCollision -I/home/jstpierre/python-ogre/root/usr/include/OGRE -I/home/jstpierre/python-ogre/root/usr/include/OGRE -I/home/jstpierre/python-ogre/bullet-2.75/Extras/ConvexDecomposition -I/usr/include/python2.6 -Ibuild_dir_2.6/ogrebulletd_r2684/None -Igenerated/ogrebulletd_r2684/None generated/ogrebulletd_r2684/OgreBulletCollisionsRay.cpp
generated/ogrebulletd_r2684/OgreBulletCollisionsMultiSphereShape.cpp: In constructor ‘OgreBulletCollisions::MultiSphereCollisionShape::MultiSphereCollisionShape(const Ogre::Vector3&, const Ogre::Vector3*, const Ogre::Real*, int)’:
generated/ogrebulletd_r2684/OgreBulletCollisionsMultiSphereShape.cpp:50: error: no matching function for call to ‘btMultiSphereShape::btMultiSphereShape(btVector3, btVector3*, const btScalar*, int&)’
/home/jstpierre/python-ogre/bullet-2.75/src/BulletCollision/CollisionShapes/btMultiSphereShape.h:33: note: candidates are: btMultiSphereShape::btMultiSphereShape(const btVector3*, const btScalar*, int)
/home/jstpierre/python-ogre/bullet-2.75/src/BulletCollision/CollisionShapes/btMultiSphereShape.h:27: note:                 btMultiSphereShape::btMultiSphereShape(const btMultiSphereShape&)
scons: *** [build_dir_2.6/ogrebulletd_r2684/OgreBulletCollisionsMultiSphereShape.os] Error 1
generated/ogrebulletd_r2684/OgreBulletCollisionsRay.cpp: In member function ‘bool OgreBulletCollisions::CollisionRayResultCallback::doesCollide() const’:
generated/ogrebulletd_r2684/OgreBulletCollisionsRay.cpp:76: error: ‘struct btCollisionWorld::RayResultCallback’ has no member named ‘HasHit’
scons: *** [build_dir_2.6/ogrebulletd_r2684/OgreBulletCollisionsRay.os] Error 1
scons: building terminated because of errors.
PythonOgre.BuildModule: WARNING  Task Failed
magcius
Gnoblar
 
Posts: 12
Kudos: 0
Joined: 29 Nov 2009

Re: Linux Information

Postby dermont » Mon Nov 30, 2009 6:56 pm

Not sure, but from your first error it looks as if your ThirdParty/ogrebullet is out of sync, the member named ‘HasHit’ should be 'hasHit' which was changed some time back:

http://python-ogre.svn.sourceforge.net/ ... iew=markup

I would try cd to ThirdParty/ogrebullet and svn update / and or removing the ogrebullet*_cache.xml from code_generators/cache and regenerating the py++ source.
dermont
Bugbear
 
Posts: 895
Kudos: 37
Joined: 27 Sep 2005

Re: Linux Information

Postby magcius » Mon Nov 30, 2009 9:04 pm

Okay. And what about the dynamics stuff? Try the same trick?

EDIT: scratch that. Now I have the same error in Collisions as Dynamics:

Code: Select all
g++ -o build_dir_2.6/ogrebulletc_r2684/OgreBulletCollisionsObjectState.os -c `pkg-config --cflags OGRE` -I -O3 -I./ -DBOOST_PYTHON_MAX_ARITY=19 -DBOOST_PYTHON_NO_PY_SIGNATURES -I/home/jstpierre/python-ogre/python-ogre/generated/ogrebulletc_r2684 -D_PRECOMP -fno-inline -I/home/jstpierre/python-ogre/root/usr/include -L/home/jstpierre/python-ogre/root/usr/lib -fPIC -I/home/jstpierre/python-ogre/root/usr/include/boost -I/home/jstpierre/python-ogre/bullet-2.75/src -I/home/jstpierre/python-ogre/bullet-2.75/src/BulletCollision -IThirdParty/ogrebullet/Collisions -I/home/jstpierre/python-ogre/root/usr/include/OGRE -I/home/jstpierre/python-ogre/root/usr/include/OGRE -I/home/jstpierre/python-ogre/bullet-2.75/Extras/ConvexDecomposition -I/usr/include/python2.6 -Ibuild_dir_2.6/ogrebulletc_r2684/None -Igenerated/ogrebulletc_r2684/None generated/ogrebulletc_r2684/OgreBulletCollisionsObjectState.cpp
generated/ogrebulletc_r2684/OgreBulletCollisionsMultiSphereShape.cpp: In constructor ‘OgreBulletCollisions::MultiSphereCollisionShape::MultiSphereCollisionShape(const Ogre::Vector3&, const Ogre::Vector3*, const Ogre::Real*, int)’:
generated/ogrebulletc_r2684/OgreBulletCollisionsMultiSphereShape.cpp:50: error: no matching function for call to ‘btMultiSphereShape::btMultiSphereShape(btVector3, btVector3*, const btScalar*, int&)’
/home/jstpierre/python-ogre/bullet-2.75/src/BulletCollision/CollisionShapes/btMultiSphereShape.h:33: note: candidates are: btMultiSphereShape::btMultiSphereShape(const btVector3*, const btScalar*, int)
/home/jstpierre/python-ogre/bullet-2.75/src/BulletCollision/CollisionShapes/btMultiSphereShape.h:27: note:                 btMultiSphereShape::btMultiSphereShape(const btMultiSphereShape&)


EDIT2: Is OgreBullet even maintained anymore? See this thread for the fix: viewtopic.php?f=12&t=10994

I'm regenerating now. I'll tell you if I run into any more errors.
magcius
Gnoblar
 
Posts: 12
Kudos: 0
Joined: 29 Nov 2009

Re: Linux Information

Postby dermont » Mon Nov 30, 2009 9:52 pm

Unless I'm mistaken the update that you linked to should already be in the python-ogre repository.
http://python-ogre.svn.sourceforge.net/ ... iew=markup

It still looks as if there is a mismatch between your ThirdParty/ogrebullet and the python-ogre repository.
dermont
Bugbear
 
Posts: 895
Kudos: 37
Joined: 27 Sep 2005

Re: Linux Information

Postby magcius » Mon Nov 30, 2009 11:08 pm

hm, I checked out from trunk, but it didn't have that.

I just finished making BtOgre bindings, so if you want those, I'll be glad to give you the source.

EDIT: okay, for some g*ddamned reason, the .cpp and .h files in generated/ogrebulletc_r2684/ are different than those in ThirdParty/OgreBullet
magcius
Gnoblar
 
Posts: 12
Kudos: 0
Joined: 29 Nov 2009

Re: Linux Information

Postby dermont » Tue Dec 01, 2009 6:45 am

magcius wrote:hm, I checked out from trunk, but it didn't have that.

I just finished making BtOgre bindings, so if you want those, I'll be glad to give you the source.

You can submit your bindings to the source forge tracker or maybe contact Andy, the python-ogre developer, if you are unable to submit a patch there.
http://groups.google.com/group/python-o ... 9351987ac0


magcius wrote:EDIT: okay, for some g*ddamned reason, the .cpp and .h files in generated/ogrebulletc_r2684/ are different than those in ThirdParty/OgreBullet


If I were you I would clear out the generated/ogrebulletc/d_r2684 generated source and regenerate both the modules. They both build here, I'm building manually.

I don't know exactly how the build systems handles ogrebullet but you may need to add a path to your extra libs or copy across the Extras/ConvexDecomposition/libConvexDecomposition.a(or .so) and Extras/GIMPACTUtils/libGIMPACTUtils.a(or .so) to your lib directory. You may also need to update environment.py with the correct library names, e.g for bullet built dynamically (yours is static so you will have to change the names):
Code: Select all
class ogrebulletc(pymodule):
    version = "r2684"
    parent = "ogre/physics"
    if isWindows():
        libs = [boost.lib, 'OgreMain',
            'LibBulletCollision', 'LibBulletDynamics', 'LibBulletMultiThreaded',
            'LibBulletSoftBody', 'libconvexdecomposition','libbulletmath'
            ]
    else:
        libs = [boost.lib, 'OgreMain',
            'BulletCollision', 'BulletDynamics',
            'BulletSoftBody', 'ConvexDecomposition', 'GIMPACTUtils','LinearMath'
            ]
dermont
Bugbear
 
Posts: 895
Kudos: 37
Joined: 27 Sep 2005

Re: Linux Information

Postby magcius » Tue Dec 01, 2009 9:09 pm

Yeah, I've tried removing the ogrebullet_r2864 dir and the cache file and regenerating, but that's not the problem. It's the .cpp and .h files that are copied into that dir.

I'm not sure why, but the files in that dir always end up being an old version. Does common_utils.copyTree take the SVN version into account and use that? I fixed it by copying the .cpp and .h files from ThirdParty/ogrebullet why it's copying over that.

Also, what are libconvexdecomposition and GIMPACT?

I'll try and send along the BtOgre bindings soon, as soon as I get access to my own computer.

I wish it was easier to build too, right now it takes forever and is completely broken (have to change various things in the build scripts to get it to build on Linux). With those considerations in mind I'd love to use Python-OGRE, I have a framework sort of built up for it right now. I'm coming from Panda3D which is quite slow. It also doesn't wrap Bullet, which is why I moved to Python-OGRE, but the OgreBullet bindings are old too, so meh. Are there any other good open-source physics engines? ODE is really bad for trimesh collisions and was hard to get dynamics working correctly.
magcius
Gnoblar
 
Posts: 12
Kudos: 0
Joined: 29 Nov 2009

Re: Linux Information

Postby Enrico » Wed Dec 02, 2009 8:36 am

magcius wrote:I wish it was easier to build too, right now it takes forever and is completely broken (have to change various things in the build scripts to get it to build on Linux)

Can you describe these changes please, so we can improve the build system?


Thanks,
Enrico
Enrico
Gnoblar
 
Posts: 18
Kudos: 0
Joined: 16 May 2007
Location: Stuttgart,Germany

Re: Linux Information

Postby dermont » Wed Dec 02, 2009 4:28 pm

magcius wrote:Yeah, I've tried removing the ogrebullet_r2864 dir and the cache file and regenerating, but that's not the problem. It's the .cpp and .h files that are copied into that dir.

I'm not sure why, but the files in that dir always end up being an old version. Does common_utils.copyTree take the SVN version into account and use that? I fixed it by copying the .cpp and .h files from ThirdParty/ogrebullet why it's copying over that.

Not that I know of, I'm not too sure what is the recommended python-ogre revision check-out for Linux is, or how the build system handles it. You should check with the developers. If this is how it works it wouldn't make sense to me, trunk should be trunk and build against only the latest trunk versions of libraries. Saying that the developer has to accommodate users who only contribution is to whinge that python-ogre doesn't build against earlier versions of Ogre.

magcius wrote:Also, what are libconvexdecomposition and GIMPACT?

Look at the user manual bullet-2.75/Bullet_User_Manual.pdf, you may not need libGIMPACTUtils if you don't encounter link/import problems.

magcius wrote:
I wish it was easier to build too, right now it takes forever and is completely broken (have to change various things in the build scripts to get it to build on Linux). With those considerations in mind I'd love to use Python-OGRE, I have a framework sort of built up for it right now.

It's always been like this, the Linux build has always lagged. There is only one developer and his main platform build is Windows. I'm sure once he gets round to Linux things will improve. I'm sure he would appreciate any input you have to offer at:
http://groups.google.com/group/python-ogre-developers


magcius wrote:I'm coming from Panda3D which is quite slow. It also doesn't wrap Bullet, which is why I moved to Python-OGRE, but the OgreBullet bindings are old too, so meh.

If Bullet and Panda3D is your main concern you could build bullet without depending on the Ogre libs by updating your environment.py and the SConstruct file:
if os.sys.platform <> 'darwin':
CCFLAGS = ' `pkg-config --cflags OGRE` ' ## needs to change I think :)

magcius wrote: Are there any other good open-source physics engines? ODE is really bad for trimesh collisions and was hard to get dynamics working correctly.


For python-ogre this was the status of the physics engines last time I checked (which was some time ago):
ode - doesn't build on Linux.
bullet - you know.
OgreOde/OgreBullet -builds (C++ no longer appear to be actively maintained).
Physx - builds but not usable on Linux.
NxOgre - C++ library doesn't build on Linux.
Physx - builds but unusable.
OgreNewt(2) - you should maybe check this out if you are happy with it's license.
dermont
Bugbear
 
Posts: 895
Kudos: 37
Joined: 27 Sep 2005

Re: Linux Information

Postby andy » Thu Dec 03, 2009 12:33 pm

I got around to doing some Linux work so grab the latest SVN and have a go as bullet, OgreBullet and OgreNewt2 modules build and test OK on Linux..

Andy
Python-Ogre: High Performance Graphics and Gaming Libraries for Python
andy
Bugbear
 
Posts: 872
Kudos: 0
Joined: 10 Jul 2006
Location: Often Singapore..

Re: Linux Information

Postby dermont » Fri Dec 04, 2009 7:50 pm

@andy,

I'm not too sure about your comments in the svn log and the cegui 0.7.1 module seg faulting on Linux. The updated demos appear to run but crashes may occur using due to missing attributes (I'm using the old data files which may explain that). I don't appear to have "libCEGUIBase.so.1" on my system, shouldn't __init__.py contain something like:

#ctypes.CDLL("libCEGUIBase.so.1", ctypes.RTLD_GLOBAL)
ctypes.CDLL("libCEGUIBase-0.7.1.so", ctypes.RTLD_GLOBAL)
dermont
Bugbear
 
Posts: 895
Kudos: 37
Joined: 27 Sep 2005

Re: Linux Information

Postby andy » Sat Dec 05, 2009 1:28 am

@dermont -- many thanks for the tip as I'd completely forgotten about the loading in __init__ -- AND I had an older CEGUI base library floating around .. Seems to be OK now...

Andy
Python-Ogre: High Performance Graphics and Gaming Libraries for Python
andy
Bugbear
 
Posts: 872
Kudos: 0
Joined: 10 Jul 2006
Location: Often Singapore..

Re: Linux Information

Postby magcius » Sat Dec 05, 2009 4:31 pm

@andy, once I'm back on my main computer, I'll send you my BtOgre stuff, or you can add it yourself, it's not that hard. :P

My room is finished painting, so I'm hooking up the electric stuff (got new plugs, this is an old condo).

After that, I'll have my main machine back.

Thanks for all your work, I'm really impressed by Python-OGRE (it's so much faster than Panda3D). Py++ is also really impressive.

All in all, what I would really like is a standard ./configure to enable/disable modules and a one-line build, instead of having to check every 5 minutes so I can enter the next step.
magcius
Gnoblar
 
Posts: 12
Kudos: 0
Joined: 29 Nov 2009

PreviousNext

Return to Python-Ogre

Who is online

Users browsing this forum: No registered users and 2 guests

cron