-
Notifications
You must be signed in to change notification settings - Fork 72
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
Error during install: ‘::memchr’ has not been declared #876
Comments
I've discovered that |
Thanks for reporting the issue, through the error log, it seems that it happens when compiling the nan, do you try with Humble Hawksbill? |
I haven't -- I'm on ubuntu 20 -- but the |
Yes, the header comes from nan package, theoretically, the behavior should be the same on different rclnodejs versions. I also checked the code change between these 2 versions, and it seems nothing special (we don't upgrade the nan version number). I will try to build it on my dev machine, but I believe it's caused by some toolchain env problem. |
I'm also having a similar issue |
Would you try to upgrade your GCC to 11 and see if the failure is still there? I verified with the following configuration and it works fine:
Meanwhile, looking through the latest build on actions, no failures were found. |
I noticed your env includes:
My understanding as of the Humble release, includes latest Rolling release, that Ubuntu 22 (jammy) is required. As a quick test I set up a new dev env with Ubuntu 22.04.01 (lts), Node 16 (lts) and rclnodejs from npm. No issues observed with rclnodejs installation and running simple node was successful. I repeated the process with the Humble release with success. Hope this helps. |
g++-11 is not available on 20.04 so I can't try that. I've also noticed that there is no build status for galactic right now (see Readme), so I assume that combination is not currently being tested? Another question: is there a reason why the repo doesn't include a |
Opps! Thx for calling this out. Will get the status indicator fixed asap. The os/ros compatibility matrix are completing successfully for linux. https://github.com/RobotWebTools/rclnodejs/actions/runs/3009191104 Looks like a dependent action for setting up ros distros on windows is failing (again). Will give it a look asap. |
@chfritz @meropis finally, I hit this issue on 20.04 with g++9.4, and I have a workaround to mitigate this weird issue (it cannot be reproduced with 22.04...), please remove the following section from your Lines 71 to 92 in 20c32f1
I will submit a PR to fix it and prepare a hotfix release, thanks! |
Sorry for the delay in testing this. Removing the lines in
|
More details: when I use v0.21.2 then removing the lines from binding.gyp works on Ubuntu 20 (w/ rolling) but fails on Ubuntu 22. However, of course, 0.21.2 builds fine on Ubuntu 22 (w/ humble) unmodified. |
Ok, so I've tested a whole matrix of combinations and finally realized that rolling on Ubuntu 20 is a different version from rolling on Ubuntu 22 (see here) and the condition in bindings.gyp isn't able to distinguish them . I'll try to come up with a better condition. PS: If I can. Seems like there are other issues with compiling against rolling on u20 as well:
|
Description
When I try to install using
npm install rclnodejs
, it fails with:(full log below).
Steps To Reproduce
npm install rclnodejs
Expected Behavior
For it to install as described in the readme.
Actual Behavior
The text was updated successfully, but these errors were encountered: