-
Notifications
You must be signed in to change notification settings - Fork 93
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
Update to use libv8-node 16.x #210
Conversation
Do not merge yet! libv8-node 16 hasn't been released on ruby gems (hence the test failures), as I need to finalise the CI support for cross compiling to ARM before I have public things out there (even beta). This early branch allows select testers to proceed with testing on private gems, as well as libv8-node CI's test jobs (which are based on mini_racer) to pass. |
Cross-compilation of Node 16 to aarch64-linux is making good progress, so I should be publishing the gems when I get to fix a small (known) issue on musl. @SamSaffron I have a couple of flaky test failures on x86_64-darwin CI. I think they might be due to the CI machines suffering from the occasional pressure, which makes stuff not happen in a timely manner from time to time. I'm not sure if there's a way to improve these:
|
Had to disable pointer compression (which is experimental) because of this commit. |
PR containing 16.x on the libv8-node side: rubyjs/libv8-node#24 |
Based on V8 9.0, his is the new LTS, node 15 now being unsupported. It notably introduces single threaded mode. Requiring c++14 is apparently the only change needed for this major. A separate PR will add a more helpful install time check for compiler requirements.
Node 16.4.0 introduced new cage flags for the experimental pointer compression stuff. Unfortunately something fails and none of them are set which causes the build to bail out because of the inconsistency.
anything to worry about with the various compilation errors? |
|
@lloeki should I go ahead and merge this ? Push a new gem? |
I did not manage to work around the old rubygems issues on musl. If you're OK with the issues and that if people encounter them they can pin to a previous version then go ahead, it's probably well worth it to have a recent libv8 available. |
I am merging this, but will wait a bit till I push gems for a bit longer |
@lloeki hey hi
I'm not sure what's the difference between these points, but I ran into the issue on my x86_64 Linux VPS. It thinks it's |
@alexeevit it's very subtle, see rubygems/rubygems#3174 for gory details. The true fix is not there yet but are workarounds in latest rubygems and bundler, so what's your rubygems and bundler version? |
Then I'll try to update them first and come back with the result. Thank you! UPD: haha, it's such a pity the project uses rails 4.2 that depends on |
@alexeevit I've got a gist for you. Make sure to read the note, you probably want to use the code patch instead of the runtime monkeypatch. https://gist.github.com/lloeki/12dcf61324f64a2fa1e8a8b2109c1f00 |
Based on V8 9.0, with node 16 being the new LTS, node 15 now being unsupported. It
notably introduces single threaded mode.
Requiring c++14 is apparently the only change needed for this major. A
separate PR will add a more helpful install time check for compiler
requirements.