-
-
Notifications
You must be signed in to change notification settings - Fork 85
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
Dependency error on new M1 Mac #128
Comments
I'm curious, did you copy your |
Hm, okay, I just tried the tutorial myself, and it worked okay (log for your interest). Could you try deleting your |
I have cloned my jekyll repo as a clean directory (without any vendor directory - it wasn't in source control), and did the I just tried the tutorial I linked completely (as in setting up a sample/new jekyll website rather than trying to clone my own) and got this error when running the
I'm not sure what this new error means. Looks like it might be a Jekyll issue. |
What does |
Currently I'm considering closing this issue, since on closer inspection, it seems like this may be an issue with jekyll, or the way I've set up my gem and bundle environments. @kivikakk On your M1 Mac, can you confirm that running the tutorial I linked command-by-command to create a new template repository works without a hitch? I still keep getting this error after a lot of messing around, which seems to point towards an issue with jekyll.
When I run
Let me know if this is unrelated to the common marker package so I can close this issue. In any case, I'd appreciate any help figuring out why I can't seem to get jekyll to run on my machine. Thank you! |
Yes, the log attached to my last comment was the end of running through the tutorial commands exactly, and culminated in jekyll successfully serving requests. From your logs:
It looks as if the gems are installed in your home directory's rm -rf vendor .bundle
bundle config set --local path 'vendor/bundle'
bundle install Then, verify that the native extensions are all arm64: find vendor -name \*.bundle -exec file '{}' \; Here's me doing this now: $ pwd
/Users/kameliya/Code/scratch/jekyll
$ ls
404.html Gemfile Gemfile.lock _config.yml _posts/ _site/ about.markdown index.markdown vendor/
$ rm -rf vendor .bundle
$ bundle config set --local path 'vendor/bundle'
$ bundle install
The dependency tzinfo (~> 1.2) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x64-mingw32, x86-mswin32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x64-mingw32 x86-mswin32 java`.
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x64-mingw32, x86-mswin32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x64-mingw32 x86-mswin32 java`.
The dependency wdm (~> 0.1.1) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x64-mingw32, x86-mswin32. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x64-mingw32 x86-mswin32`.
Fetching gem metadata from https://rubygems.org/.........
Fetching public_suffix 4.0.6
Installing public_suffix 4.0.6
Fetching addressable 2.7.0
Installing addressable 2.7.0
Using bundler 2.1.4
Fetching colorator 1.1.0
Installing colorator 1.1.0
Fetching concurrent-ruby 1.1.7
Installing concurrent-ruby 1.1.7
Fetching eventmachine 1.2.7
Installing eventmachine 1.2.7 with native extensions
Fetching http_parser.rb 0.6.0
Installing http_parser.rb 0.6.0 with native extensions
Fetching em-websocket 0.5.2
Installing em-websocket 0.5.2
Fetching ffi 1.14.2
Installing ffi 1.14.2 with native extensions
Fetching forwardable-extended 2.6.0
Installing forwardable-extended 2.6.0
Fetching i18n 1.8.5
Installing i18n 1.8.5
Fetching sassc 2.4.0
Installing sassc 2.4.0 with native extensions
Fetching jekyll-sass-converter 2.1.0
Installing jekyll-sass-converter 2.1.0
Fetching rb-fsevent 0.10.4
Installing rb-fsevent 0.10.4
Fetching rb-inotify 0.10.1
Installing rb-inotify 0.10.1
Fetching listen 3.3.3
Installing listen 3.3.3
Fetching jekyll-watch 2.2.1
Installing jekyll-watch 2.2.1
Fetching rexml 3.2.4
Installing rexml 3.2.4
Fetching kramdown 2.3.0
Installing kramdown 2.3.0
Fetching kramdown-parser-gfm 1.1.0
Installing kramdown-parser-gfm 1.1.0
Fetching liquid 4.0.3
Installing liquid 4.0.3
Fetching mercenary 0.4.0
Installing mercenary 0.4.0
Fetching pathutil 0.16.2
Installing pathutil 0.16.2
Fetching rouge 3.26.0
Installing rouge 3.26.0
Fetching safe_yaml 1.0.5
Installing safe_yaml 1.0.5
Fetching unicode-display_width 1.7.0
Installing unicode-display_width 1.7.0
Fetching terminal-table 2.0.0
Installing terminal-table 2.0.0
Fetching jekyll 4.2.0
Installing jekyll 4.2.0
Fetching jekyll-feed 0.15.1
Installing jekyll-feed 0.15.1
Fetching jekyll-seo-tag 2.7.1
Installing jekyll-seo-tag 2.7.1
Fetching minima 2.5.1
Installing minima 2.5.1
Bundle complete! 6 Gemfile dependencies, 31 gems now installed.
Gems in the group benchmark were not installed.
Bundled gems are installed into `./vendor/bundle`
Post-install message from i18n:
HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
But that may break your application.
If you are upgrading your Rails application from an older version of Rails:
Please check your Rails app for 'config.i18n.fallbacks = true'.
If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
'config.i18n.fallbacks = [I18n.default_locale]'.
If not, fallbacks will be broken in your app by I18n 1.1.x.
If you are starting a NEW Rails application, you can ignore this notice.
For more info see:
https://github.com/svenfuchs/i18n/releases/tag/v1.1.0
$ find vendor -name \*.bundle -exec file '{}' \; | sed 's_vendor/bundle/ruby/2..../__'
extensions/arm64-darwin-20/2.7.0/sassc-2.4.0/sassc/libsass.bundle: Mach-O 64-bit bundle arm64
extensions/arm64-darwin-20/2.7.0/ffi-1.14.2/ffi_c.bundle: Mach-O 64-bit bundle arm64
extensions/arm64-darwin-20/2.7.0/http_parser.rb-0.6.0/ruby_http_parser.bundle: Mach-O 64-bit bundle arm64
extensions/arm64-darwin-20/2.7.0/eventmachine-1.2.7/fastfilereaderext.bundle: Mach-O 64-bit bundle arm64
extensions/arm64-darwin-20/2.7.0/eventmachine-1.2.7/rubyeventmachine.bundle: Mach-O 64-bit bundle arm64
gems/sassc-2.4.0/ext/libsass.bundle: Mach-O 64-bit bundle arm64
gems/sassc-2.4.0/lib/sassc/libsass.bundle: Mach-O 64-bit bundle arm64
gems/ffi-1.14.2/ext/ffi_c/ffi_c.bundle: Mach-O 64-bit bundle arm64
gems/ffi-1.14.2/lib/ffi_c.bundle: Mach-O 64-bit bundle arm64
gems/http_parser.rb-0.6.0/ext/ruby_http_parser/ruby_http_parser.bundle: Mach-O 64-bit bundle arm64
gems/http_parser.rb-0.6.0/lib/ruby_http_parser.bundle: Mach-O 64-bit bundle arm64
gems/eventmachine-1.2.7/ext/fastfilereader/fastfilereaderext.bundle: Mach-O 64-bit bundle arm64
gems/eventmachine-1.2.7/ext/rubyeventmachine.bundle: Mach-O 64-bit bundle arm64
gems/eventmachine-1.2.7/lib/fastfilereaderext.bundle: Mach-O 64-bit bundle arm64
gems/eventmachine-1.2.7/lib/rubyeventmachine.bundle: Mach-O 64-bit bundle arm64
$ bundle exec jekyll serve
Configuration file: /Users/kameliya/Code/scratch/jekyll/_config.yml
Source: /Users/kameliya/Code/scratch/jekyll
Destination: /Users/kameliya/Code/scratch/jekyll/_site
Incremental build: disabled. Enable with --incremental
Generating...
Jekyll Feed: Generating feed for posts
done in 0.152 seconds.
Auto-regeneration: enabled for '/Users/kameliya/Code/scratch/jekyll'
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.
Hope this helps. |
Thanks for the help @kivikakk <3 Happy new year! |
@kivikakk Interesting that you get only the Happy New Year!
|
Which Ruby are you using? The system Ruby is a universal binary, so the weirdness might be related to that if you're using it. I'm using an |
Yes I'm using system ruby. I'll see if perhaps rbenv installed ruby works better. |
I'm posting this for anyone else who may come across this issue. As @sanzaru pointed out in this issue thread the problem is in |
Something doesn't really add up here -- your logs show you're using |
Installing a completely new ruby environment sounds not like a solution to me and some people don't have the permissions or simply don't want to compromise the system. The universal binary consists of arm and x86 code and should automatically choose the correct one. If you try to run it with the arm64 part of the universal binary you still get the error while the x86 one works fine, so for me this does not look like a confusion, but more like missing support for the architecture. |
Sure, just trying to point to a solution that works now. If you want it all native, it can be done, but as with most things on M1, it won’t necessarily be pretty yet. Rosetta on the other hand usually Just Works™️. My hunch is that the system/universal Ruby doesn’t know how to build a universal bundle and instead defaults to building extensions as x86-64 for whatever reason; it might be something in Ruby itself as installed by Apple, mkmf, something specific to the |
I'd also like to just quickly point out that this project is run entirely by volunteers, and the ask of getting it working "as it always has" on brand new architecture should be taken with the added context that we're just now beginning to come out of a very difficult year for many people. Getting Commonmark to turn into HTML is, for me personally, not the highest on my list of priorities at this moment. It sounds like @kivikakk provided a solution, and if or when CI supports the new architecture I'm sure this project and others will be able to test for it. Until then let's provide any suggestions and insights we all can. |
I'm trying to build my Github Pages website locally on my M1 mac Mini using this guide. However, whenever I execute
bundle exec jekyll serve
, I get the following error:I can't seem to find any help regarding this dependency error - I suspect this has something to do with the new
arm64
architecture of the M1 Macs, since the error saysmissing compatible arch
. Any help would be appreciated.The text was updated successfully, but these errors were encountered: