Replies: 1 comment 7 replies
-
Just now I've edited the code so that prints out the return value of 'mprotect', and also if the return value is non-zero, then it sets it to ENOMEM in an attempt to keep things going. It's rebuilding now and I'll be able to try it shortly. |
Beta Was this translation helpful? Give feedback.
7 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I have webspace on a remote Linux server, and I want to run NodeJs v21 on it, but the first obstacle was that the remote server only has glibc v2.27, so the prebuilt binary for the latest version won't work.
So I downloaded an earlier version of Ubuntu that ships with glibc v2.27, put it in a virtual machine, and built NodeJs v21.6.1 linked with glibc v2.27.
I copied the 'node' binary across to the remote server, but it failed to run because the remote server's version of libstdc++ was too old.
So next I re-built the binary with -static-libstdc++ , and so now the binary can run on the remote server, but it crashes because errno is compared against ENOMEM somewhere (note that ENOMEM == 12). I think this failure is occurring in the file 'platform-posix.cc' on line 494 where CHECK_EQ is used to ensure that errno is equal to ENOMEM.
Does anyone know what might be going wrong here? Here's what I'm seeing at the command line:
Beta Was this translation helpful? Give feedback.
All reactions