Robotics StackExchange | Archived questions

Can't build a package on noetic that worked on melodic

I need to use this package for a project (https://github.com/pcdangio/ros-driver_tcpip), i did it with no issues on ubuntu 18.04 and Melodic, now i need it on 20.04 Noetic, but when i build it gives me a compilation error: error: expected ‘)’ before ‘&’ token

Since it worked fine before i don't really think this is a problem with the package, how do i solve this?

I alredy tried downgrading the version of GNUB to the same of ubuntu 18.04 (from gcc 9.4 to gcc 7.5).

What can i do?

Asked by stefanofiore on 2022-09-22 02:47:24 UTC

Comments

you will need to port it to more recent c++ standard

Asked by GeorgNo on 2022-09-22 05:34:44 UTC

Can you please post the complete error logs?

Asked by ravijoshi on 2022-09-22 05:50:03 UTC

I understand where you're coming from, but:

Since it worked fine before i don't really think this is a problem with the package

is a somewhat strange statement.

Melodic (mostly) supported Ubuntu 18.04. Noetic supports Ubuntu 20.04. Those two OS are about 2 years apart (if not longer), and come with different versions of compilers, runtime environments, libraries, frameworks, etc, etc.

This has consequences for the consumers of those pieces of software. Incompatibilities, or difficulty building the same packages on different OS or versions of ROS are examples of such consequences.

The fact it worked "with Melodic" essentially means almost nothing, as apart from the name, many things have changed between Melodic and Noetic.

Asked by gvdhoorn on 2022-09-22 06:27:09 UTC

Answers