Skip to content
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

Can not run bundle install because jekyll-assets dependency on macOS Catalina #651

Open
18 tasks
iloveip opened this issue Dec 3, 2020 · 0 comments
Open
18 tasks

Comments

@iloveip
Copy link

iloveip commented Dec 3, 2020

  • I tried updating to the latest version
    • I can't, there is an issue
    • This is about an < latest
      • I understand older versions may be unsupported
  • I Am on Windows
    • Ubuntu Bash on Windows
    • Fedora Bash on Windows
    • Other Bash on Windows
  • I Am on Linux
    • Ubuntu
    • Fedora
    • CentOS
    • Redhat
    • Debian
  • I am on macOS 10.13
  • I am on macOS 10.14
  • I'm on Docker
    • I understand Docker may be unsupported

Description

I'm have a problem install Jekyll on macOS Catalina. I followed instructions here https://jekyllrb.com/docs/installation/macos/. But when I run bundle install in my project directory I get the following error:

An error occurred while installing ffi (1.9.23), and Bundler cannot
continue.
Make sure that `gem install ffi -v '1.9.23'` succeeds before bundling.

In Gemfile:
  jekyll-assets was resolved to 3.0.11, which depends on
    jekyll-sanity was resolved to 1.2.0, which depends on
      jekyll was resolved to 3.8.2, which depends on
        jekyll-sass-converter was resolved to 1.5.2, which depends on
          sass was resolved to 3.5.6, which depends on
            sass-listen was resolved to 4.0.0, which depends on
              rb-inotify was resolved to 0.9.10, which depends on
                ffi

If I run gem install ffi -v '1.9.23' I get the following error:

svetlana@MacBook-Pro-Svetlana iloveip % gem install ffi -v '1.9.23'
Building native extensions. This could take a while...
ERROR:  Error installing ffi:
	ERROR: Failed to build gem native extension.

    current directory: /Users/svetlana/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/ffi-1.9.23/ext/ffi_c
/Users/svetlana/.rbenv/versions/2.7.2/bin/ruby -I /Users/svetlana/.rbenv/versions/2.7.2/lib/ruby/2.7.0 -r ./siteconf20201203-48087-17384wl.rb extconf.rb
checking for ffi_call() in -lffi... yes
checking for ffi_closure_alloc()... yes
checking for ffi_raw_call()... yes
checking for ffi_prep_raw_closure()... yes
checking for shlwapi.h... no
checking for rb_thread_blocking_region()... no
checking for rb_thread_call_with_gvl()... yes
checking for rb_thread_call_without_gvl()... yes
checking for ffi_prep_cif_var()... yes
creating extconf.h
creating Makefile

current directory: /Users/svetlana/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/ffi-1.9.23/ext/ffi_c
make "DESTDIR=" clean

current directory: /Users/svetlana/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/ffi-1.9.23/ext/ffi_c
make "DESTDIR="
compiling AbstractMemory.c
compiling ArrayType.c
compiling Buffer.c
compiling Call.c
Call.c:334:5: error: implicit declaration of function 'rb_thread_call_without_gvl' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
    rbffi_thread_blocking_region(call_blocking_function, data, (void *) -1, NULL);
    ^
./Thread.h:78:39: note: expanded from macro 'rbffi_thread_blocking_region'
# define rbffi_thread_blocking_region rb_thread_call_without_gvl
                                      ^
Call.c:388:20: warning: incompatible pointer types passing 'VALUE (void *)' (aka 'unsigned long (void *)') to parameter of type 'VALUE (*)(VALUE)' (aka 'unsigned long (*)(unsigned long)') [-Wincompatible-pointer-types]
        rb_rescue2(rbffi_do_blocking_call, (VALUE) bc, rbffi_save_frame_exception, (VALUE) &frame, rb_eException, (VALUE) 0);
                   ^~~~~~~~~~~~~~~~~~~~~~
/Users/svetlana/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1988:25: note: passing argument to parameter here
VALUE rb_rescue2(VALUE(*)(VALUE),VALUE,VALUE(*)(VALUE,VALUE),VALUE,...);
                        ^
Call.c:388:56: warning: incompatible pointer types passing 'VALUE (void *, VALUE)' (aka 'unsigned long (void *, unsigned long)') to parameter of type 'VALUE (*)(VALUE, VALUE)' (aka 'unsigned long (*)(unsigned long, unsigned long)') [-Wincompatible-pointer-types]
        rb_rescue2(rbffi_do_blocking_call, (VALUE) bc, rbffi_save_frame_exception, (VALUE) &frame, rb_eException, (VALUE) 0);
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/svetlana/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1988:47: note: passing argument to parameter here
VALUE rb_rescue2(VALUE(*)(VALUE),VALUE,VALUE(*)(VALUE,VALUE),VALUE,...);
                                              ^
2 warnings and 1 error generated.
make: *** [Call.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/svetlana/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/ffi-1.9.23 for inspection.
Results logged to /Users/svetlana/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/extensions/x86_64-darwin-19/2.7.0/ffi-1.9.23/gem_make.out

How can I fix that?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant