astuto icon indicating copy to clipboard operation
astuto copied to clipboard

Error on mac m1

Open soundstep opened this issue 3 years ago • 2 comments

Hi,

It looks like I got that error on a Mac m1 trying to run docker compose locally.

I'll try in a gitpod workspace meanwhile.

Starting update...
-> Docker image will be rebuilt if necessary
-> Database schema will be updated if necessary
-> Webpack will compile assets
[+] Building 1.5s (18/18) FINISHED
 => [internal] load build definition from Dockerfile                                                              0.0s
 => => transferring dockerfile: 32B                                                                               0.0s
 => [internal] load .dockerignore                                                                                 0.0s
 => => transferring context: 2B                                                                                   0.0s
 => [internal] load metadata for docker.io/library/ruby:2.6.6                                                     1.2s
 => [auth] library/ruby:pull token for registry-1.docker.io                                                       0.0s
 => [internal] load build context                                                                                 0.0s
 => => transferring context: 34.57kB                                                                              0.0s
 => [ 1/12] FROM docker.io/library/ruby:2.6.6@sha256:ee53ac01b7ec7d8d42f53175ed33c39474d40d4af43cccc13cb3370cef5  0.0s
 => CACHED [ 2/12] RUN curl -sL https://deb.nodesource.com/setup_14.x | bash -                                    0.0s
 => CACHED [ 3/12] RUN apt-get update -qq && apt-get install -y nodejs postgresql-client                          0.0s
 => CACHED [ 4/12] RUN npm install -g yarn                                                                        0.0s
 => CACHED [ 5/12] RUN mkdir /astuto                                                                              0.0s
 => CACHED [ 6/12] WORKDIR /astuto                                                                                0.0s
 => CACHED [ 7/12] RUN gem install foreman                                                                        0.0s
 => CACHED [ 8/12] COPY Gemfile Gemfile.lock /astuto/                                                             0.0s
 => CACHED [ 9/12] RUN bundle install                                                                             0.0s
 => CACHED [10/12] COPY package.json yarn.lock /astuto/                                                           0.0s
 => CACHED [11/12] RUN yarn install --check-files                                                                 0.0s
 => [12/12] COPY . /astuto                                                                                        0.1s
 => exporting to image                                                                                            0.1s
 => => exporting layers                                                                                           0.1s
 => => writing image sha256:fea59211b2c33565038e2fdb2220f66406ea3317d581d423a0a29b668d63dccb                      0.0s
 => => naming to docker.io/library/astuto_web                                                                     0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
[+] Running 1/1
 â ¿ Container astuto-db-1  Recreated                                                                               0.1s
[+] Running 1/1
 â ¿ Container astuto-db-1  Started                                                                                 0.4s
yarn install v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > @babel/[email protected]" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "@babel/preset-react > @babel/[email protected]" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "@babel/preset-react > @babel/[email protected]" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "@babel/preset-react > @babel/[email protected]" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "@babel/preset-react > @babel/[email protected]" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "@babel/preset-react > @babel/plugin-transform-react-jsx > @babel/[email protected]" has unmet peer dependency "@babel/core@^7.0.0-0".
warning " > [email protected]" has unmet peer dependency "webpack@^2.0.0 || >= 3.0.0-rc.0 || ^3.0.0".
warning " > [email protected]" has unmet peer dependency "webpack@*".
warning " > [email protected]" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".
warning "webpack-dev-server > [email protected]" has unmet peer dependency "webpack@^4.0.0".
[4/4] Building fresh packages...
Done in 275.33s.
[+] Running 1/0
 â ¿ Container astuto-db-1  Running                                                                                 0.0s
Preparing database...

ERROR: It looks like you're trying to use Nokogiri as a precompiled native gem on a system with glibc < 2.17:

  /lib/aarch64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /usr/local/bundle/gems/nokogiri-1.13.6-aarch64-linux/lib/nokogiri/2.6/nokogiri.so) - /usr/local/bundle/gems/nokogiri-1.13.6-aarch64-linux/lib/nokogiri/2.6/nokogiri.so

  If that's the case, then please install Nokogiri via the `ruby` platform gem:
      gem install nokogiri --platform=ruby
  or:
      bundle config set force_ruby_platform true

  Please visit https://nokogiri.org/tutorials/installing_nokogiri.html for more help.


ERROR: It looks like you're trying to use Nokogiri as a precompiled native gem on a system with glibc < 2.17:

  /lib/aarch64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /usr/local/bundle/gems/nokogiri-1.13.6-aarch64-linux/lib/nokogiri/2.6/nokogiri.so) - /usr/local/bundle/gems/nokogiri-1.13.6-aarch64-linux/lib/nokogiri/2.6/nokogiri.so

  If that's the case, then please install Nokogiri via the `ruby` platform gem:
      gem install nokogiri --platform=ruby
  or:
      bundle config set force_ruby_platform true

  Please visit https://nokogiri.org/tutorials/installing_nokogiri.html for more help.


ERROR: It looks like you're trying to use Nokogiri as a precompiled native gem on a system with glibc < 2.17:

  /lib/aarch64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /usr/local/bundle/gems/nokogiri-1.13.6-aarch64-linux/lib/nokogiri/2.6/nokogiri.so) - /usr/local/bundle/gems/nokogiri-1.13.6-aarch64-linux/lib/nokogiri/2.6/nokogiri.so

  If that's the case, then please install Nokogiri via the `ruby` platform gem:
      gem install nokogiri --platform=ruby
  or:
      bundle config set force_ruby_platform true

  Please visit https://nokogiri.org/tutorials/installing_nokogiri.html for more help.

rake aborted!
LoadError: /lib/aarch64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /usr/local/bundle/gems/nokogiri-1.13.6-aarch64-linux/lib/nokogiri/2.6/nokogiri.so) - /usr/local/bundle/gems/nokogiri-1.13.6-aarch64-linux/lib/nokogiri/2.6/nokogiri.so
/usr/local/bundle/gems/nokogiri-1.13.6-aarch64-linux/lib/nokogiri/extension.rb:7:in `require_relative'
/usr/local/bundle/gems/nokogiri-1.13.6-aarch64-linux/lib/nokogiri/extension.rb:7:in `<main>'
/usr/local/bundle/gems/nokogiri-1.13.6-aarch64-linux/lib/nokogiri.rb:10:in `require_relative'
/usr/local/bundle/gems/nokogiri-1.13.6-aarch64-linux/lib/nokogiri.rb:10:in `<main>'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `block in require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:291:in `load_dependency'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `require'
/usr/local/bundle/gems/loofah-2.18.0/lib/loofah.rb:4:in `<main>'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `block in require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:291:in `load_dependency'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `require'
/usr/local/bundle/gems/rails-html-sanitizer-1.4.3/lib/rails-html-sanitizer.rb:2:in `<main>'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `block in require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:291:in `load_dependency'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `require'
/usr/local/bundle/gems/actionview-6.0.5/lib/action_view/helpers/sanitize_helper.rb:3:in `<main>'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `block in require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:291:in `load_dependency'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `require'
/usr/local/bundle/gems/actionview-6.0.5/lib/action_view/helpers.rb:60:in `<module:Helpers>'
/usr/local/bundle/gems/actionview-6.0.5/lib/action_view/helpers.rb:6:in `<module:ActionView>'
/usr/local/bundle/gems/actionview-6.0.5/lib/action_view/helpers.rb:5:in `<main>'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `block in require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:291:in `load_dependency'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `require'
/usr/local/bundle/gems/sprockets-rails-3.4.2/lib/sprockets/rails/context.rb:1:in `<main>'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `block in require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:291:in `load_dependency'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `require'
/usr/local/bundle/gems/sprockets-rails-3.4.2/lib/sprockets/railtie.rb:10:in `<main>'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `block in require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:291:in `load_dependency'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `require'
/usr/local/bundle/gems/sass-rails-5.1.0/lib/sass/rails/railtie.rb:3:in `<main>'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `block in require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:291:in `load_dependency'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `require'
/usr/local/bundle/gems/sass-rails-5.1.0/lib/sass/rails.rb:11:in `<main>'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `block in require'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:291:in `load_dependency'
/usr/local/bundle/gems/activesupport-6.0.5/lib/active_support/dependencies.rb:324:in `require'
/usr/local/bundle/gems/sass-rails-5.1.0/lib/sass-rails.rb:1:in `<main>'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/astuto/config/application.rb:7:in `<top (required)>'
/astuto/rakefile:4:in `require_relative'
/astuto/rakefile:4:in `<top (required)>'
/usr/local/bundle/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
(See full trace by running task with --trace)

soundstep avatar Aug 04 '22 12:08 soundstep

FYI, it works in Gitpod, I just had to add POSTGRES_HOST_AUTH_METHOD=trust in the docker compose file or I had an error: https://github.com/soundstep/astuto/commit/cef2703d821089e36c5dd389d096576837a672da

soundstep avatar Aug 04 '22 15:08 soundstep

Hi soundstep, thanks for reaching out!

After some googling, I've found that this is a common problem with M1 chips (more in general, with ARM processors). This could be a fix: https://stackoverflow.com/questions/71786103/how-can-i-overcome-nokogiri-dependency-when-dockerizing-ruby-on-rails-api

Unfortunately, I'm not able to test it since I don't have an ARM processor myself. If you want, try the fix and let me know, so we can write a piece of documentation for M1/ARM users.

riggraz avatar Aug 05 '22 09:08 riggraz

I'm now using a Mac M2 and building and running the image locally works fine. Closing the issue

riggraz avatar Jan 09 '24 16:01 riggraz