Project

General

Profile

Actions

Pull request #317

closed

patch hpp-fcl & pinocchio

Added by Guilhem Saurel 17 days ago. Updated 13 days ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Repository URL:
https://github.com/nim65s/robotpkg
Repository branch:
master

Description

Hello,

hpp-fcl builds are currently failing on Fedora 34, because GCC has a bug in C++17, and Fedora 34 has GCC 11, and GCC 11 defaults to C++17, triggering this bug… patch-226 workaround this.

Also, pinocchio builds are currently failing on 16.04, because its GCC defaults to C++98, and a few C++ >= 11 were merged into the last pinocchio release. There is also a bug coming from Boost 1.58… patch-1454 fix both of those issues.

Cheers,
Guilhem.

Actions #1

Updated by Anthony Mallet 17 days ago

On Wednesday 2 Jun 2021, at 15:36, Guilhem Saurel wrote:

hpp-fcl builds are currently failing on Fedora 34, because GCC has a
bug in C++17, and Fedora 34 has GCC 11, and GCC 11 defaults to
C++17, triggering this bug… patch-226 workaround this.

Thanks a lot! I spent quite some time on this, ending up on the same
upstream bug reports as you did ...

Also, pinocchio builds are currently failing on 16.04, because its
GCC defaults to C++98, and a few C++ >= 11 were merged into the last
pinocchio release. There is also a bug coming from Boost 1.58…
patch-1454 fix both of those issues.

Nice as well!
(even though ubuntu 16.04 is now a bit less of a concern)

Actions #2

Updated by Guilhem Saurel 17 days ago

This looks better for hpp-fcl, but now hpp-pinocchio is failing. And I expect hpp-rbprm to fail shortly after. I pushed 2 patches on my side.

There is still a similar issue with roboptim-core 3.1 on Fedora 34. I don't know how I missed it on Arch, a version compiled before GCC 11 is probably hidding somewhere on my system… But I'll have a look.

Actions #3

Updated by Anthony Mallet 17 days ago

This looks better for hpp-fcl, but now hpp-pinocchio is failing. And
I expect hpp-rbprm to fail shortly after. I pushed 2 patches on my
side.

Nice.

Note that throw() without argument (deprecated but still accepted in
C++17) should be replaced by noexcept (C++11) rather than nothing.
But I guess you know what you are doing :)

Actions #4

Updated by Guilhem Saurel 16 days ago

throw() will be removed in C++20, and I'm still waiting for pinocchio 3 to be able to definitively forget C++98… So yes, I took the lazy path, instead of the good one.

But on the other hand, I've been watching C++ experts fight over exceptions for years, and major actors even simply forbidding their use in their guidelines. So I'm staying as far as I can from this. Especially since I've tried Go (return a pair<value, error>) and Rust (return an option<value> or a result<value, error>) ways…

Anyway, I've added 2 more patches, for py-hpp-{affordance,rbprm}-corba, plus 3 on wip (already pushed). I also added one on graphics/ros-qt-gui-core, just to allow me to ensure that everything I care about compiles well on Fedora 34.

The patch on ros-qt-gui-core should probably be version bump to 0.4.2 instead, and it seems to work on my 18.04, but not on Fedora 34 where catkin is whining. From my point of view, this can also just be ignored… I'll let you see :)

Actions #5

Updated by Anthony Mallet 15 days ago

throw() will be removed in C++20, and I'm still waiting for
pinocchio 3 to be able to definitively forget C++98… So yes, I took
the lazy path, instead of the good one.

I didn't mean anything like 'wrong' or 'good' in my comment :)
I was just a notice in case you mechinically removed the throws(x) and
it was not intented.

Anyway, I've added 2 more patches, for
py-hpp-{affordance,rbprm}-corba,

Could you have a look at
`path/py-hpp-affordance-corba/patches/patch-22`.
It seems that it contains a lot of whitespace-only changes that makes
it hard to read and that is probably unecessary in robotpkg either.

The patch on ros-qt-gui-core should probably be version bump
to 0.4.2 instead, and it seems to work on my 18.04, but not on
Fedora 34 where catkin is whining.

I'll check 0.4.2, but I'll use your patch if it's too broken.

Actions #6

Updated by Guilhem Saurel 15 days ago

Thanks a lot for ros-qt-gui-core !

I've reworked patch-22 into patch-aa, with just a sed to remove the "throw (hpp:Error)", and it seems good enough ^^"

Actions #7

Updated by Anthony Mallet 15 days ago

Much more readable! Thanks

Actions #8

Updated by Guilhem Saurel 13 days ago

  • Status changed from New to Closed

Everything looks good to me here, thanks !

Actions

Also available in: Atom PDF