pybullet/vehicles revision 39 doesn't compile

Bug #885425 reported by Julian Ceipek
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
pybullet
Fix Committed
Undecided
Unassigned

Bug Description

It looks like bringing rev 38 in sync with trunk broke bullet.pyx. I'll see if I can fix it myself, but I've never used pyrex or bullet before, so it may take a while.

running build_ext
cythoning bullet/bullet.pyx to bullet/bullet.cpp

Error compiling Cython file:
------------------------------------------------------------
...
        del self.thisptr
        del self.config

cdef class OverlappingPairCache:
    ^
------------------------------------------------------------

bullet/bullet.pyx:1939:5: C class 'OverlappingPairCache' already implemented

Error compiling Cython file:
------------------------------------------------------------
...

    This class is a wrapper around btOverlappingPairCache.

    XXX This wrapper will cause segfaults. Use one of the subclasses instead.
    """
    cdef btOverlappingPairCache *thisptr
                               ^
------------------------------------------------------------

bullet/bullet.pyx:1948:32: 'thisptr' redeclared
building 'bullet.bullet' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/bullet -I/home/julian/Development/PyCritters/bullet-2.79/src -I/usr/include/python2.7 -c bullet/bullet.cpp -o build/temp.linux-x86_64-2.7/bullet/bullet.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
bullet/bullet.cpp:1:2: error: #error Do not use this file, it is the result of a failed Cython compilation.
error: command 'gcc' failed with exit status 1

Revision history for this message
Jean-Paul Calderone (exarkun) wrote :

Are you talking about the vehicles branch? "pybullet/vehicles" seems to suggest that, but I'm not quite sure. If so, then I'm not really trying to maintain the vehicles branch as working code. It's a big, big pile of functionality that sastraxi contributed all at once, most of which I don't understand. I'm keeping the branch as a place to grab code from, gradually, as I find time to understand and test it.

Feel free to try to fix it, but if you'd like to help move the project forward, it would be more useful to find individual features that it implements and pull them out into separate branches, adding unit tests and documentation. A self-contained branch that documents, tests, and implements a single feature is a lot easier for me to look at and merge into trunk.

Thanks!

Revision history for this message
Julian Ceipek (jceipek) wrote :

Yes, I was talking about the vehicles branch. I'm working on a simulation project (trying to recreate Karl Sims' virtual creatures work using Python), and my team needs to use constraints as joints between body parts.

We would like to contribute to pybullet if we can, but our primary objective is to get the physics portion of the project implemented as quickly as possible so that we can focus on writing the neural network and genetic algorithm part of the project.

At the moment, our options are
1) modify trunk to add the basic hinge and point constraints we need
2) fix rev 39 of the vehicles branch
3) modify rev 38 of the vehicles branch to support debug mode
and
4) switch to a 2d physics library like pymunk (which is less exciting)

Please let me know if you have any advice for moving forward with this; we would really like to use pybullet if possible, and we will be sure to make any improvements we make available on Launchpad.

Revision history for this message
Julian Ceipek (jceipek) wrote :

I managed to pull in most of the changes in trunk by manually merging it with revision 38, even though I still don't really know much about Pyrex.

My biggest concern is with btOverlappingPairCache, because both trunk and rev 38 of the vehicles branch implemented different parts of it, and when I attempted to combine them, bullet.pyx stopped compiling again.

Right now, most of the demos and test files seem to work in a way similar to those in trunk.

Changed in pybullet:
status: New → Fix Committed
status: Fix Committed → In Progress
Cory Dolphin (wcdolphin)
Changed in pybullet:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.