-
Notifications
You must be signed in to change notification settings - Fork 39
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
Fix error: redefinition of ‘struct eigenpy::NumpyEquivalentType<... #488
Fix error: redefinition of ‘struct eigenpy::NumpyEquivalentType<... #488
Conversation
Signed-off-by: Shane Loretz <[email protected]>
Signed-off-by: Shane Loretz <[email protected]>
Signed-off-by: Shane Loretz <[email protected]>
@wxmerkt Mind reviewing this one? This bug is causing regressions in Noetic on armhf, and that's blocking the Noetic sync. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for putting this together and the ping. Looks good - let's wait for CI to pass
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good from my end. @jcarpent is this good to merge?
The ROS Noetic armhf build for
eigenpy
is failing - likely caused by #455, and it's causing regressions blocking the Noetic Sync. May I request a release to Noetic when this PR or another fix for the issue is merged?This fixes the issue by using SFINAE and partial template specialization(as suggested here) to remove the specializations of
NumpyEquivalentType<long long>
andNumpyEquivalentType<unsigned long long>
when they're the same asint64_t
anduint64_t
respectively.https://build.ros.org/view/Nbin_ufhf_uFhf/job/Nbin_ufhf_uFhf__eigenpy__ubuntu_focal_armhf__binary/96
I tested that eigenpy builds with this PR on an amd64 machine, but that of course won't show the build failure. Instead I made sure the method for the fix works using godbolt.org with the 32bit
ARM GCC 9.3.0
compiler option with the code below: