ros-naoqi / libqi-release

Release repo of the ROS port of Aldebaran's libqi
https://github.com/ros-naoqi/libqi
0 stars 11 forks source link

Package for ROS Lunar #5

Closed victorpaleologue closed 10 months ago

victorpaleologue commented 6 years ago

Requested by @nlyubova, would be useful to researchers using Pepper and NAO

mikaelarguedas commented 6 years ago

This has been released in ROS Lunar by @suryaambrose https://github.com/ros/rosdistro/pull/16469. This fails to build on all platforms but Ubuntu Xenial (Ubuntu Zesty and Debian Stretch). Is libqi compatible with Boost 1.62?

victorpaleologue commented 6 years ago

The build error is about an ambiguous call to relative(bfs::path, bfs::path). In libqi's master it was fixed by prefixing it with ::. I suggest the project pulls the upstream libqi instead of trying this local quick fix. So it is not a problem with boost, I'm building libqi master with boost 1.64 successfully, for example.

suryaambrose commented 6 years ago

Hi,

@mikaelarguedas I noticed the issue this morning. I will cherry-pick the fix tonight and see if it is enough.

@vpaleologue-aldebaran I don't want to be based on master branch. I prefer releasing specific tags (easier for me to be certain of what I am releasing). The last libqi tag on github is 2.5.0.176 so that's the one I used (and will keep using until a new one is available).

suryaambrose commented 6 years ago

But the way @mikaelarguedas the problem should also be present for yaketty (boost 1.61) but there was no complaint. Is that package not built by the buildfarm ?

victorpaleologue commented 6 years ago

I think it is best that you take the tag of the latest release on Pepper, which is 2.5.7.1 according to the title of http://doc.aldebaran.com/2-5/home_pepper.html I tried it here, and libqi builds successfully with boost 1.64.

victorpaleologue commented 6 years ago

Here it is, by the way : https://github.com/aldebaran/libqi/releases/tag/v2.5.7.1

mikaelarguedas commented 6 years ago

mikaelarguedas I noticed the issue this morning. I will cherry-pick the fix tonight and see if it is enough.

@suryaambrose Indeed, we now try to closely match EOL dates from Ubuntu and we stopped building binaries for Yakkety this summer: https://discourse.ros.org/t/suspension-of-debian-packaging-for-eol-ubuntu-yakkety/2444.

I think it is best that you take the tag of the latest release on Pepper, which is 2.5.7.1 according to the title of http://doc.aldebaran.com/2-5/home_pepper.html

:+1: As long as that version works for all robots (as it seems to be the case based on the provided link)

suryaambrose commented 6 years ago

But it does not seem to compile with boost 1.58.. (something about an ambiguous call to boost::bind<<nested template f***>>)

I don't have the possibility to build libqi for all ROS supported platforms, nor the will the rework each versions to make it ROS-compliant. I sticked with version 2.5.0 for now, as it needed (hopefully) less man power. On 2.5.7, the CMakeLists.txt has significantly changed, so I need to re-adapt it to catkin, and I'm not really confident about what I am doing.

mikaelarguedas commented 6 years ago

maybe sticking with 2.5.0 for lunar is fine. In case it's relevant: Melodic (next LTS ROS version coming out in May) will target only platforms that have at least 1.62 so supporting compatibility for all platforms should be easier.

If you happen to reach a state of 2.5.7 working for all platforms targeted by lunar feel free to release another version anytime ;)

mikaelarguedas commented 6 years ago

Thanks @suryaambrose. looks like the last version compiles on all platforms :tada: I guess the next step is to release libqicore? and then we should be able to release the ROS naoqi stack right ?

nlyubova commented 6 years ago

Bravo Surya ! Thank you Mikael!

nlyubova commented 6 years ago

@mikaelarguedas does it compile even for ARM64?

nlyubova commented 6 years ago

@suryaambrose if it compile for Kinetic ARM64 then can we release it as well?

mikaelarguedas commented 6 years ago

@nlyubova yes it compiles on all platforms / architectures.

if it compile for Kinetic ARM64 then can we release it as well?

It is already released on ARM64 for kinetic: http://build.ros.org/view/Kbin_uxv8_uXv8/job/Kbin_uxv8_uXv8__naoqi_libqi__ubuntu_xenial_arm64__binary/

I think that the one that was not building on arm was naoqi_driver (https://github.com/ros-infrastructure/ros_buildfarm_config/blob/d6741493a907480c886dac4954f93da2bfb49651/kinetic/release-xenial-arm64-build.yaml#L20)