Comments (23)
Bug report filed on LaunchPad to get python-sip updated to 4.19.21
on 16.04
and 18.04
, https://bugs.launchpad.net/ubuntu/+source/sip4/+bug/1861601
from orocos_kinematics_dynamics.
PR for PyKDL based on PyBind11 is open: #229
python-sip
fix is also pending for approval in ubuntu launchpad, so that should also be released in a few weeks.
from orocos_kinematics_dynamics.
A fixed version of python-sip
is now available on updates
both for Xenial and Bionic.
from orocos_kinematics_dynamics.
Thanks for the hard work @MatthijsBurgh !
from orocos_kinematics_dynamics.
I just did some other tests:
Generating the code up to SIP version 4.16.7 it works as expected.
From 4.16.8 up to 4.18 SIP generates code, but has issues:
#129
Using SIP 4.19.7 creates code, but importing the PyKDL library then actually segfaults...
from orocos_kinematics_dynamics.
I have asked the PyQt mailing list, https://www.riverbankcomputing.com/mailman/listinfo/pyqt, for support.
The specific thread: http://python.6.x6.nabble.com/sip-Accessing-members-results-in-incorrect-missing-data-td5266521.html
@smits Could you please contribute?
from orocos_kinematics_dynamics.
With the developer of SIP, we have fixed a few bugs in SIP. This will fix both the incorrect data, this issue and #129, and the memory leak of #157.
The relevant fixes:
https://www.riverbankcomputing.com/hg/sip/rev/137b9be794a1
https://www.riverbankcomputing.com/hg/sip/rev/6a057b2d8537
https://www.riverbankcomputing.com/hg/sip/rev/699facc95914
https://www.riverbankcomputing.com/hg/sip/rev/82ec38dc0e63
For details see the mailing list: http://python.6.x6.nabble.com/sip-Accessing-members-results-in-incorrect-missing-data-td5266521.html
So you can either build python_orocos_kdl
from source, with SIP from source. A new release, probably 4.19.21, will be released soon.
The debians are not maintained by the developer of SIP, but the Debian Python Modules Team (DPMT). Once the new SIP release is out, I will request them to update python-sip
for all ubuntu versions 16+.
from orocos_kinematics_dynamics.
In my opinion a new released python-sip
is needed to have a new release of python_orocos_kdl
. There is not much happening on LaunchPad, so extra contributions by all of you is needed to get a new release.
Please contribute: @smits @traversaro @mrana6 @tfoote @zchen24 @mvieth @luzpaz @francisco-miguel-almeida @ahoarau @jbohren
from orocos_kinematics_dynamics.
from orocos_kinematics_dynamics.
@zchen24 I cherry-picked your commit and did some extra fixes, but I get a segmentation fault with PyBind11 v2.4.3, see https://travis-ci.com/MatthijsBurgh/orocos_kinematics_dynamics/builds/148004083
The segmentation faults happen in the Pickle tests
from orocos_kinematics_dynamics.
@MatthijsBurgh Wow, I did not expect that you will just run the continuous integration test on it.
Regarding the status of Pybind11, the wrapping of the KDL library is pretty complete, but there could be some corner cases that are missing, and the Pickle test failure is expected as this feature has not been implemented yet. See https://pybind11.readthedocs.io/en/stable/advanced/classes.html#pickling-support. Besides pickle support, I also have a concern regarding the unit test coverage. I am happy to spend some time this weekend and might need your help with testing.
from orocos_kinematics_dynamics.
There is not much happening on LaunchPad, so extra contributions by all of you is needed to get a new release.
Please contribute: @smits @traversaro @mrana6 @tfoote @zchen24 @mvieth @luzpaz @francisco-miguel-almeida @ahoarau @jbohren
Hi @MatthijsBurgh, I have not used orocos_kdl in a long time, but I would be happy to give an hand if it is necessary. However, it is not clear to me how we can help. In particular, I do not think it is possible given how Ubuntu handles its releases to have a package to be update to a completely new version. If you were able to backport the fix as a patch, you could try to start the SRU process (https://wiki.ubuntu.com/StableReleaseUpdates) but even that is quite a long process (see for example ros/urdfdom#119). If you need this fixed in your setups in the short or even medium term, I would suggest to stop using the system python-sip
and python_orocos_kdl
, and ship your own version, either compiling them from source or providing updated versions via a PPA.
from orocos_kinematics_dynamics.
There is not much happening on LaunchPad, so extra contributions by all of you is needed to get a new release.
Please contribute: @smits @traversaro @mrana6 @tfoote @zchen24 @mvieth @luzpaz @francisco-miguel-almeida @ahoarau @jbohrenHi @MatthijsBurgh, I have not used orocos_kdl in a long time, but I would be happy to give an hand if it is necessary. However, it is not clear to me how we can help. In particular, I do not think it is possible given how Ubuntu handles its releases to have a package to be update to a completely new version. If you were able to backport the fix as a patch, you could try to start the SRU process (https://wiki.ubuntu.com/StableReleaseUpdates) but even that is quite a long process (see for example ros/urdfdom#119). If you need this fixed in your setups in the short or even medium term, I would suggest to stop using the system
python-sip
andpython_orocos_kdl
, and ship your own version, either compiling them from source or providing updated versions via a PPA.
I have a solution for my own setup. But I would like to come up with a robust solution for the entire ROS community.
So the options:
- Get a SRU for
python-sip
, see https://bugs.launchpad.net/ubuntu/+source/sip4/+bug/1861601 - Replace SIP with PyBind11, see #219
- Release a updated version of
python-sip
via the ROS servers. Is this a possibility @traversaro?
from orocos_kinematics_dynamics.
Release a updated version of python-sip via the ROS servers. Is this a possibility @traversaro?
Sorry, I did not saw this mention back in time. I am not related in any way with the maintenance of the maintenance of debian packages on ROS servers, but think in the past the attitude was to try to avoid to release updated version of packages that are released in Ubuntu repositories in the ROS repositories, to avoid hard to debug conflicts or problems. I remember some discussion on a GitHub issue on this, but I at the moment I can't find it.
from orocos_kinematics_dynamics.
I guess the next step is to have a new release, @MatthijsBurgh ?
Can you do that @smits ?
from orocos_kinematics_dynamics.
@jspricke A new release on SIP is possible or merge #229 and release a PyBind11 based PyKDL. But both are up to @smits and @meyerj.
from orocos_kinematics_dynamics.
I'll try to release in the coming days. AFAIU the release is only required to regenerate the python bindings, right? Since we're going with option 1, in which a fixed python-sip will be available during build time?
from orocos_kinematics_dynamics.
We are interested in a new release from master to have #212 in there as well.
from orocos_kinematics_dynamics.
@smits, Yes, new python bindings need to be generated based on the updated python-sip
release. You could use the same commit as the current PyKDL release, but there have been many changes since the last release, march 2018. So I would suggest an entire new release of both KDL and PyKDL.
PS. in #229 there are some fixes to the SIP version of PyKDL. I could create a separate PR for those commits, so these could be include in this release. Are you open for that?
from orocos_kinematics_dynamics.
@MatthijsBurgh we have to maintain binary compatibility for the existing ROS releases, so I can create a new release to be incorporated into the next ROS release but not for kinetic/melodic etc. unless we try to cherrypick the binary compatible fixes for 1.3 and 1.4
from orocos_kinematics_dynamics.
I think cherrypicking it all is a lot of work. So just keep it to new python bindings based on the same release. People will just need to build from source, if they want a newer version of (Py)KDL.
from orocos_kinematics_dynamics.
@smits could you create new package releases on kinetic
and melodic
based on the same commits as the current releases, but which use the new version of sip
? This would fix this bug and #129 and #157.
from orocos_kinematics_dynamics.
16.04 has reached end-of-life, problem still on 18.04. That requires a re-release of the same version, but with updated sip.
from orocos_kinematics_dynamics.
Related Issues (20)
- Question of gym-gazebo HOT 1
- make error python_orocos_kdl: static assertion failed HOT 2
- Problem for align on Vector HOT 12
- Why is nr_of_jnts a double and not unsigned int? HOT 1
- Prismatic joint with curve path HOT 1
- Compiling issue after adding hash function? HOT 10
- KDL::Joint initialization with TransAxis HOT 2
- Assertion error when using ChainIkSolverVel_wdls with a 5dof robot.
- Change License HOT 5
- Humble release HOT 1
- E_NOT_UP_TO_DATE error when using ChainIdSolver_RNE::CartToJnt for a real-time controller HOT 2
- Any plans for ROS noetic release? HOT 5
- Change license to a more permissive one HOT 48
- 5Dof IK is not reporting angles as expected
- AddressSanitizer throws errors HOT 3
- Compile issue of python bindings HOT 10
- Question about the computational performance of KDL on redundant kinematic chains HOT 4
- Joint Limits on Inverse Kinematic solver HOT 1
- Python Version Error HOT 6
- Website Documentation Wrong
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from orocos_kinematics_dynamics.