-
Notifications
You must be signed in to change notification settings - Fork 27
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
Add Linux ARM targets #8
Comments
Currently built manually inside an aarch64 Linux VM on a M1 Mac Mini. Appears to run fine on Linux on ARM hardware (Graviton) but has trouble at runtime on emulated machines (via qemu on x86 and/or docker's hyperkit on M1) |
Cross-compiling builds correctly, but I hit a missing symbol error.
|
It seems compilation was partial, the intermediate |
Just a tiny remark: Docker for Desktop does also have experimental support for Big Sur/MacOS virtualization.framework. The same problem exists there though. Docker's hyperkit VM was/is based on hypervisor.framework. |
Got a build and a gem working! Not publishing yet because things are not ready automation-side but testers are welcome to make themselves known. |
@tisba I have Linux cross compilation to ARM on x64 CI working, see this run (there are some failures but they're on Darwin and Alpine, gnu/ARM passes!) Before I pull the trigger and publish these, can you download the |
For some reason I'm getting an error when I try to process the gem (
|
There's another build based on 16.4.2 over there: https://github.com/sqreen/ruby-libv8-node/actions/runs/1023202498 |
I'm not sure what I'm doing "wrong" 😞 I downloaded https://github.com/sqreen/ruby-libv8-node/suites/3216862858/artifacts/74504625 as
To sanity check, I downloaded https://rubygems.org/downloads/rails-6.1.4.gem and
|
Any ideas, @lloeki? |
Sorry for the delay @tisba, I did not have a moment to look at this but I'm not forgetting about it! |
@tisba I pushed some 16.10.0 gems and updated the mini_racer PR. |
System info:
I'm running this on Big Sur 11.6, Mac mini (M1, 2020). Running the following script with fork.rb# frozen_string_literal: true
# Run with:
# ruby fork.rb
# -or via docker-
# docker run -it --rm -v "$(pwd)":/app -w /app ruby:3.0.2 ruby /app/fork.rb
require "bundler/inline"
gemfile do
source "https://rubygems.org"
gem "mini_racer", git: "https://github.com/rubyjs/mini_racer", branch: "libv8-node-16"
gem "libv8-node", source: "file:///app/repo"
end
puts "RUBY_VERSION : #{RUBY_VERSION}"
puts "RUBY_PLATFORM: #{RUBY_PLATFORM}"
puts "MiniRacer::LIBV8_NODE_VERSION: #{MiniRacer::LIBV8_NODE_VERSION}"
puts "Libv8::Node::VERSION: #{Libv8::Node::VERSION}"
puts "Libv8::Node::NODE_VERSION: #{Libv8::Node::NODE_VERSION}"
puts "Libv8::Node::LIBV8_VERSION: #{Libv8::Node::LIBV8_VERSION}"
puts "parent pid : #{Process.pid}"
MiniRacer::Context.new.dispose
fork do
puts "child pid : #{Process.pid}"
end
puts "DONE!"
puts Full Output
Removing the |
Thanks. This is probably due to rubyjs/mini_racer#170, as there was no development yet to use the new single threaded mode. |
Yeah I know, just wanted to check this too. As I use mini_racer in a normal Rails application as part of the business logic, this is blocking us from updating from Back to topic: I'll try to run our large internal test suite against this build later. |
For reference: mini_racer 0.6.2 with I think what is "missing" for Linux ARM targets is mostly musl libc builds. |
Possible on GHA via qemu and/or xbuild. Also available on Travis.
Considered targets:
The text was updated successfully, but these errors were encountered: