Project

General

Profile

Actions

Pull request #280

closed

Update HPP to v4.10, among others

Added by Guilhem Saurel over 3 years ago. Updated over 3 years ago.

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

Description

Hi,

This one is pretty big, but I wasn't able to incrementally upgrade some packages without all the others.

I expect many issues with 16.04 (mostly about older boost version and GCC bugs), but as all our robots have been upgraded, and our users notified, publishing fixes for this can wait from my point of view.

An interesting point is that by allowing our developers to use C++11, we actually switched to C++14 (auto can't be used in some contexts in C++11), and didn't see it at first as C++14 is the default standard on 18.04.

Therefore, the configuration that forced C++11 on robotpkg raise some issues there. The last 2 commits are a proposition of a workaround for the packages I work on, but this will probably also break other packages on older distro…

The fix I have implemented in our CMake modules is to let the user define a minimal required standard, and check the standard of the current compiler. This ensure that if the default standard is C++14, and the user says that he wants at least C++11, everything works as expected.

I guess it would be easy to add a similar strategy in robotpkg, but didn't work on it yet.

for reference: https://github.com/jrl-umi3218/jrl-cmakemodules/blob/master/cxx-standard.cmake
& https://github.com/jrl-umi3218/jrl-cmakemodules/blob/master/cxx-standard.cpp

Best,
Guilhem.

Actions #1

Updated by Anthony Mallet over 3 years ago

Regarding C++11: I recently added C11 support
https://git.openrobots.org/projects/robotpkg/repository/robotpkg/revisions/ff03d0fbb27d9d1f6f2db57e0d79d241dea65540
It works along the lines of what you implemented, i.e. no flags are
added if the compiler has a default for this standard or above.

For C++11, the same could be done. This requires g++>=4.8.1 and maybe
you could check which version requires -std=gnu++11 and from which
version this is the default?

Same for C++14.

I would prefer this rather than completely dropping the C++11
requirement as you did in some commits.

Actions #2

Updated by Guilhem Saurel over 3 years ago

I dropped the C++11 only in the last 2 commits. All the other c++11.mk → c++.mk implies that the check is made at the CMake level. This check takes in account compilation options, and versions of dependencies (if a dependency was compiled in C++11, we need to compile in at least C++11).

I already tried to do this in robotpkg in #220, and we saw that it was not possible.

With the current situation, if robotpkg finds an urdfdom 0.4, pinocchio is compiled without any standard requirement, while if we have urdfdom 1.0, the minimum standard is set to C++11.

But yes, we can totally remove my last 2 commits, and implement a c++11.mk exactly as your c11.mk was done.

Actions #3

Updated by Anthony Mallet over 3 years ago

With the current situation, if robotpkg finds an urdfdom 0.4,
pinocchio is compiled without any standard requirement, while if we
have urdfdom 1.0, the minimum standard is set to C++11.

OK. I did not change your commits. Let's see what happens :)

But yes, we can totally remove my last 2 commits, and implement a
c++11.mk exactly as your c11.mk was done.

I did that.

Actions #4

Updated by Guilhem Saurel over 3 years ago

Thanks !

According to http://robotpkg.openrobots.org/rbulk/robotpkg/graphics/py-qt-gepetto-viewer/py27-qt5-gepetto-viewer-4.10.1~doc/Ubuntu-18.04-x86_64/bulk.html it looks like the 18.04 VM on Fluffy lacks the libpythonqt-qtall-qt5-python2-dev system package. Could you install it ?

I also pushed 3 commits to fix small little things on my branch, could you have a look ?

Cheers,
Guilhem.

Actions #5

Updated by Anthony Mallet over 3 years ago

On Friday 25 Sep 2020, at 14:07, Guilhem Saurel wrote:

libpythonqt-qtall-qt5-python2-dev system package. Could you install
it ?

Done ...

I also pushed 3 commits to fix small little things on my branch,
could you have a look ?

... and pushed!

Actions #6

Updated by Guilhem Saurel over 3 years ago

hello,

It looks like there is an unexpected issue in crocoddyl… Could you add https://github.com/nim65s/robotpkg/commit/89607f0d3e47cbb485463b5d592df07fb58faf59 ?

Thanks :)

Actions #7

Updated by Anthony Mallet over 3 years ago

Sure, pushed!

Actions #8

Updated by Guilhem Saurel over 3 years ago

  • Status changed from New to Closed

Thanks ! Then I guess this is OK for this PR for me. I hope to be able to fix the broken HPP things on 16.04 soon, but I'll open another PR for this.

Actions

Also available in: Atom PDF