-
Notifications
You must be signed in to change notification settings - Fork 71
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
Ubuntu 18.04.6 LTS + Eclipse 2023-03 M2: Language server startup fails because GLIBC_2.28 requirement #1096
Comments
This project is not building nodejs but using the binaries from https://nodejs.org/en/ so I am sure you will face the same issue if you download latest 18.x release and try using it . So you would have to request support there. |
@akurtakov, let me explain my reasoning behind opening the bug here. TL;DR: Implement a global Eclipse preferences page for WWD showing node installation problems on page load, include used node path and supported node versions.
Yes, and the WWD devs decide which version to bundle. They could even implement a mechanism of putting a setting into the Eclipse preferences dialog where the user decides which node version to use, limiting the choice to the node versions compatible with the currently installed WWD Eclipse plugin. See https://nodejs.org/en/download/releases/. Above would also enable the user to choose a node version compatible with his platform, in my case not requiring glibc 2.28. Currently the user experience with WWD problem handling is sub-optimal - saying it nicely. A normal user trying to get a quick start would download Eclipse IDE for Enterprise Java and Web Developers, start it, create some Web project with Javascript support, only to see that Javascript completion doesn't work without any useful hint. I work on a daily basis with Eclipse using it for Java development and I know where to look for errors/problems, e.g. in the Eclipse Error Log View and Console View. In contrast, a fresh user will have big problems getting started and most probably bounce off using Eclipse for Javascript development. He will then most likely choose e.g. Visual Studio Code. What I experienced roughly:
So at the end it's still not working. How should a usual/fresh user ever know what to do to make Eclipse with WWD work for Javascript development?! There was NOT A SINGLE graphical notification in Eclipse on startup which a fresh user would see that something really bad happened. At least there should be some prominent setting or notification section in the Eclipse preferences which would have made the user aware. My least effort suggestion for the beginning is:
That would HUGELY improve the user experience and prevent unnecessary troubleshooting steps. Additionally it would reduce the fresh user bounce A LOT. If I wouldn't wouldn't have been a loyal Eclipse user I would have been bounced off right in the beginning. |
Thanks for the detailed explanation! Having such a setting, notification and etc. would be a very nice addition, but we will need help as current wwd developers are more than totally occupied with duties on core eclipse, jdt, m2e, lsp4e and more so this issue just never makes it up to the top of the todo list. |
I'll look into that, but can't promise anything. I never did Eclipse plugin development before, so I would need to get started with that. Additionally I'm also really occupied currently. 😞 Just keep this issue open or create a separate issue or task list with my suggested improvements - see the end of my #1096 (comment). |
@akurtakov, after some more research about which node requires which glibc version, I came up with the following results. The glibc 1.28 requirement has been introduced with node 18.0.0 - see the node changelog. The node platform build documentation containing the glibc requirements has been updated with PR nodejs/node#42659. See also the comments and linked issues there. Imho the best solution for the issue is to wait for PR nodejs/unofficial-builds#69 to be merged and to use the resulting build for WWD inclusion which lowers the glibc version requirement from 1.28 to 2.17. |
I managed to get WWD working with node v17.9.1. Steps:
If the given node path is incorrect, you will get below Eclipse error dialog popup and an error similar to below in the Error Log View.
If the path is correct, but node fails to start - like for node v8.10.0 I mentioned in #1096 (comment) - you will NOT get an Eclipse error dialog popup! @akurtakov, is there any official source for the node versions supported by each WWD plugin? |
One more finding regarding the node compatibility check:
I assume that is because the integrated node version is deemed compatible without any preconditions which is incorrect because it can error out. |
Next finding: NO Eclipse error dialog popup if the node path given via the system property does NOT exist. |
@germanicianus We test mostly using the versions of Node.js which we're going to embed - these are the LTS versions (16.x, 18.x,). The latest available and tested version is 18.13.0. So if you'll be trying - this is the latest tested and supported version. I never met a problem like yours, but at least our tests work well with these versions. Note that Node.js versions 18.14.0/18.14.1 aren't compatible with the latest WWD snapshot available as the embedded ones, but highly likely should work as user defined custom Node.js installation ( set via Non-LTS versions (17.x, 19.x) as well as custom Node.js builds, like nodejs/unofficial-builds#69 aren't tested, but still may be used on your on as user defied custom Node.js installation ( set via |
That would be worth a dedicated bug report and a dedicated PR. Can you please create those? To be clear, it doesn't seem to be profitable for the project to maintain a matrix of compatibility; it's much simpler and much more efficient to just pick one version of node.js, verify it, and include it as done now. It can be assumed that node always work, and it's verified to work on the CI environments described in Jenkinsfile and GitHub actions. If you wish to ensure more checks for Ubuntu compatibility, you may try to just update those CI files to add Ubuntu as 1 target. |
Is this issue still worth staying open? |
I only found that out when looking at the first language server error message directly after starting Eclipse and then trying to get node installation info on command-line which immediately threw below error.
In fact Ubuntu 18.04.6 LTS is now excluded from using the embedding node despite it is still supported until 2028.
See also nodejs/node#42351 and below info.
Eclipse:
Error:
The text was updated successfully, but these errors were encountered: