-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rbtree.py Is Not Automatically Regenerated When A New Header Is Included In rbtree.i #4454
Comments
I think @jamiesnape knows more than anyone else about the SWIG mess currently, so he may have some thoughts. |
BTW it might be useful to check this assumption. We've seen some indications recently that if your CMake isn't perfectly crafted, it will produce |
There is an issue with the logic, I think. I do not think this one is a general CMake issue, as much as it an unconventional way of using it. You definitely should not have to nuke your whole build. At worst, you would remove the drake build directory and the configure, build, and install stamp files. |
The fix is to rewrite the code, which would not take especially long, but it could well be time better spent looking at SWIG alternatives. |
I am almost entirely certain that this error was not present when I developed the swig bindings, which would support the hypothesis that it's not present when using |
Problem Definition
When a new header file is included in
drake-distro/drake/bindings/swig/rbtree.i
, the classes that are defined within this header file do not appear in the automatically-generateddrake-distro/drake/bindings/python/pydrake/rbtree.py
even after rebuildingdrake
. Oddly, the new classes' symbols do appear indrake-distro/build/drake/bindings/swig/_rbtree.so
, meaning the two are inconsistent. Deletingdrake-distro/drake/bindings/python/pydrake/rbtree.py
and rebuildingdrake
does not work becauseninja
does not believe anything changed (I'm currently assumingmake
will behave identically).Workaround
The only workaround I've found is to do a comprehensive nuke:
I'm wondering whether there's a better way to regenerate the correct
rbtree.py
without resorting to the comprehensive nuke.The text was updated successfully, but these errors were encountered: