Skip to content
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

Unable to install on Ubuntu 18.04LTS with Dashing ROS2 release #640

Open
muawijhe opened this issue Apr 3, 2020 · 8 comments
Open

Unable to install on Ubuntu 18.04LTS with Dashing ROS2 release #640

muawijhe opened this issue Apr 3, 2020 · 8 comments

Comments

@muawijhe
Copy link

muawijhe commented Apr 3, 2020

Hi guys and girls,

In file included from ../src/rcl_bindings.cpp:38:0: ../src/rcl_bindings.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE rclnodejs::GetParameterOverrides(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/rcl_bindings.cpp:128:19: error: ‘rcl_arguments_get_param_overrides’ was not declared in this scope RCL_RET_OK, rcl_arguments_get_param_overrides(parsed_args, &params), ^

npm -v
6.13.4

nodejs -v
v12.16.1

dpkg -l | grep ros-dashing-rclcpp | awk '{print $2 "\t" $3}'
ros-dashing-rclcpp 0.7.13-1bionic.20200318.040150
ros-dashing-rclcpp-action 0.7.13-1bionic.20200318.041055
ros-dashing-rclcpp-components 0.7.13-1bionic.20200318.041322
ros-dashing-rclcpp-lifecycle 0.7.13-1bionic.20200318.040923

what additional information do you need to help me out?

V.

@wayneparrott
Copy link
Collaborator

wayneparrott commented Apr 3, 2020

edited -
@muawijhe thx for reporting this issue. The default version of rclnodejs v0.13 is for use with the ROS 2 Eloquent distro (which is why you are experiencing this error). For versions of rclnodejs compatible with earlier versions of ROS 2 see the install directions for the appropriate rclnodejs version that matches your ros2 distro https://github.com/RobotWebTools/rclnodejs

rclnodejs 0.13 has a lot of good features that were recently added. I would encourage you to upgrade to the Eloquent distro if it's not too much trouble.

@muawijhe
Copy link
Author

muawijhe commented Apr 4, 2020 via email

@muawijhe
Copy link
Author

muawijhe commented Apr 4, 2020

I also tried to use different versions without success. Did you try yourself with older version as well? If so coud you be so gentle and post here the version (and or the command)?

Thanks

@minggangw
Copy link
Member

Thanks for @wayneparrott's explanation and I want to share my thoughts about this problem.

  • Which version should I use?

Usually, each release of rclnodejs targets on a (patch) release of ROS2. There are 7 releases of Dashing totally, including 1 main release and 6 patch release (the latest version is patch release 6). Meanwhile, we have 4 releases of rclnodejs accordingly, please see below:

ROS 2.0 release NPM version
Dashing Diademata Patch Release 4 0.10.3
Dashing Diademata Patch Release 3 0.10.2
Dashing Diademata Patch Release 2 0.10.1
Dashing Diademata Patch Release 1 0.10.0

We cannot ensure that rclnodejs runs correctly on patch relase 5&6, maybe you could run npm i [email protected] to have a try on these two releases:

But if you installed Dashing by Debian packages, you may not be aware of the exact release (I reckon it is patch release 6).

  • About ROS2 LTS distro

Personally speaking, I don't think there is a kind of LTS distro until now, you could check out all the releases here, although EOL of Dashing is May 2021. The community publishes a new release every 6 months followed by several patch releases. That will be changed after Foxy.

Currently, the develop branch of rclnodejs tracks to master of ROS2, so we can keep it compatible as soon as a stable release of ROS2 is published. As @wayneparrott said, you are encouraged to install Eloquent at the current stage, unless you have strong reasons to stay on a specific ROS2 release.

@muawijhe
Copy link
Author

muawijhe commented Apr 4, 2020 via email

@muawijhe
Copy link
Author

Hi guys,
There is no one out there able to adjust the release for the current Ubuntu patch 6 version?

It will be great to support long term distro :(

@minggangw
Copy link
Member

minggangw commented Apr 12, 2020

We try to develop the rclnodejs client based on the latest stable ROS2, because we have limited resources to maintain several branches simultaneously (most of the engineers spend their free time in developing this project). Maybe we could support more after Foxy release as it will change less.

BTW what's kind of error you met, a compiling error caused by C code?

@muawijhe
Copy link
Author

`In file included from ../src/rcl_bindings.cpp:38:0: ../src/rcl_bindings.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE rclnodejs::GetParameterOverrides(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/rcl_bindings.cpp:128:19: error: ‘rcl_arguments_get_param_overrides’ was not declared in this scope RCL_RET_OK, rcl_arguments_get_param_overrides(parsed_args, &params), ^

npm -v
6.13.4

nodejs -v
v12.16.1

dpkg -l | grep ros-dashing-rclcpp | awk '{print $2 "\t" $3}'
ros-dashing-rclcpp 0.7.13-1bionic.20200318.040150
ros-dashing-rclcpp-action 0.7.13-1bionic.20200318.041055
ros-dashing-rclcpp-components 0.7.13-1bionic.20200318.041322
ros-dashing-rclcpp-lifecycle 0.7.13-1bionic.20200318.040923`

This is the error. Tnx for letting me hope :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants