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

Node Gallium (arm64) compiled using a newer GLIB_C version than the official version, will not run on Amazon Linux 2 #1433

Closed
jpike88 opened this issue Aug 17, 2022 · 10 comments
Assignees

Comments

@jpike88
Copy link

jpike88 commented Aug 17, 2022

nsolid-v4.8.0-gallium-linux-arm64.tar.gz

The above tar contained at https://s3-us-west-2.amazonaws.com/nodesource-public-downloads/4.8.0/artifacts/bundles/nsolid-bundle-v4.8.0-linux-arm64.tar.gz should not have been built with LIBC version GLIB_C 2.27. Node 16 is still in LTS, and should be able to run on machines with older versions.

At this point, this renders nsolid unusable on all Amazon Linux 2 images, as they use version 2.26. Guess I'll have to find a different product

@jpike88 jpike88 changed the title Linux ARM Node 16 compiled using a newer GLIB_C version than the official version, will not run on Amazon Linux 2 ARM Node Gallium arm64 compiled using a newer GLIB_C version than the official version, will not run on Amazon Linux 2 ARM Aug 17, 2022
@jpike88 jpike88 changed the title Node Gallium arm64 compiled using a newer GLIB_C version than the official version, will not run on Amazon Linux 2 ARM Node Gallium (arm64) compiled using a newer GLIB_C version than the official version, will not run on Amazon Linux 2 Aug 17, 2022
@jpike88
Copy link
Author

jpike88 commented Aug 17, 2022

I think I found the problem, it started happening with version 4.7.0 when a newer version of GLIB_C was used to compile the LTS versions. This was obviously a mistake as it leaves Amazon Linux 2 users stuck in the cold. Version 4.6.3 should work.

@riosje riosje self-assigned this Sep 6, 2022
@riosje
Copy link
Contributor

riosje commented Sep 13, 2022

Hi @jpike88 can you elaborate a little bit more on your issue?
Whats the AMI ID you're using?
Currently we provide some AMIs ready to run nsolid, take a look in the documentation:
https://docs.nodesource.com/nsolid/4.8/docs#quickstart-aws

@jpike88
Copy link
Author

jpike88 commented Sep 14, 2022

I’m not interested in custom AMIs, I just want to use the stock images provided by elastic beanstalk, running Amazon Linux 2. That way I can be sure I’m on a distro that is maintained by Amazon themselves, I just want the runtime for nsolid without messing with custom images.

im using an LTS version of nodejs and expect similar compatibility, this whole situation is easily avoided if it was built with the appropriate version of GLIB_C

@riosje
Copy link
Contributor

riosje commented Sep 14, 2022

Hi @jpike88 this repository is intended to bring support to the users using directly NodeJS for debian and redhat distributions.
For issues related to Nsolid post it on stack overflow.
https://stackoverflow.com/questions/tagged/nsolid

Or just in case you have a support plan create a ticket through https://accounts.nodesource.com/

@riosje riosje closed this as completed Sep 14, 2022
@jpike88
Copy link
Author

jpike88 commented Sep 14, 2022

I’m not looking for ’support’, I’m logging a bug and moving on with my day. And your repo explicitly states it supports Amazon Linux 2 (even though just 64-bit, but same problem) at this time, yet how can it if GLIB_C is out of Amazon Linux 2’s compatibility range? You guys are rolling an LTS version of nodejs with a different key dependency of the original, that renders a totally different compatibility range regardless of the distro it’s on, with a misleading statement that you support Amazon Linux 2 (which implies the stock AMI), and you see no issues there?

Overall a very perplexing and disappointing response, I’ll just look for a different solution, I’m not wasting my time on stack overflow asking a question I already know the answer to.

@riosje
Copy link
Contributor

riosje commented Sep 14, 2022

@jpike88 I'm so sorry if you got my comment in a disrespectful manner, It was not my intention.
As I mentioned before, this repo is intended to support just NodeJS packages DPKG and RPM, but as far as I can see your issue is related to nsolid runtime, which is not within the scope of this repository.
Hope you can understand and move your request/issue to the stackoverflow section
https://stackoverflow.com/questions/tagged/nsolid

@jpike88
Copy link
Author

jpike88 commented Sep 14, 2022

Redirecting people to stack overflow is a poor policy, it’s a place you go when you are seeking help, not reporting a clear issue with the product. I don’t have the time and would rather you forward it internally or whatever, my time is better spent finding a product that doesn’t require me to jump through hoops to get it working on a stock standard, typical setup.

@ghost
Copy link

ghost commented Dec 23, 2022

Hello, this looks like an issue I am experiencing without Nsolid. It happens on any Amazon Linux 2 AMI with Node 18.

Relates: #1463

To reproduce

Create an EC2 instance with any Amazon Linux 2 AMI. Inside, run:

curl -fsSL https://rpm.nodesource.com/setup_18.x | bash -
yum install -y nodejs

Expected result

Node.js is installed.

Actual result

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                               | 3.7 kB     00:00     
216 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 2:18.12.1-1nodesource will be installed
--> Processing Dependency: libc.so.6(GLIBC_2.28)(64bit) for package: 2:nodejs-18.12.1-1nodesource.x86_64
--> Processing Dependency: libm.so.6(GLIBC_2.27)(64bit) for package: 2:nodejs-18.12.1-1nodesource.x86_64
--> Finished Dependency Resolution
Error: Package: 2:nodejs-18.12.1-1nodesource.x86_64 (nodesource)
           Requires: libm.so.6(GLIBC_2.27)(64bit)
Error: Package: 2:nodejs-18.12.1-1nodesource.x86_64 (nodesource)
           Requires: libc.so.6(GLIBC_2.28)(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Additional information

Not reproducible on Ubuntu AMIs, which work fine.

@riosje
Copy link
Contributor

riosje commented Dec 26, 2022

Hi @pmer-hh this is due to the GLIBC version which comes with Amazon Linux 2.
Amazon Linux 2 comes with GLIBC 2.26 NodeJS 18 requires at least GLIBC 2.28 to run, it is specified on the node requirements doc.

Amazon Linux 2022 it comes with GLIBC 2.34 which solve this check it out here.
Unfortunately it looks likle Amazon Linux 2022 is still in pre-release as shown here
https://docs.aws.amazon.com/linux/al2022/ug/what-is-amazon-linux.html
image

@cobalt2727
Copy link
Contributor

Amazon Linux 2 comes with GLIBC 2.26 NodeJS 18 requires at least GLIBC 2.28 to run, it is specified on the node requirements doc.

Hold on, when did the documentation change? Last time I tried building Node myself it worked perfectly on 18.04 without needing 2.28. I could try again nowadays to double-check, but it seems like this isn't an actual hard requirement so much as it is the dev team just deciding to drop less up-to-date testing environments.

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