Skip to content

despite successfully installing eventmachine, bundle install still fails on that Gem #6584

Description

@johnlarkin1

Describe the problem as clearly as you can

After a recent upgrade to MacOS Ventura 13.3, my workflow for previewing my static website is totally borked. I've been hitting my head on this for a couple of days now without much progress. Here is some extra information:

$  which ruby                                                                                                
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/bin/ruby
$  ruby -v
ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [arm64-darwin22]
$  which openssl
/opt/homebrew/opt/openssl@3/bin/openssl
$  openssl version                                                                                           
OpenSSL 3.1.0 14 Mar 2023 (Library: OpenSSL 3.1.0 14 Mar 2023)

This command successfully installs eventmachine:

$  gem install eventmachine -v '1.2.7' -- --with-ssl-dir=/opt/homebrew/opt/openssl@3
Building native extensions with: '--with-ssl-dir=/opt/homebrew/opt/openssl@3'
This could take a while...
Successfully installed eventmachine-1.2.7
Parsing documentation for eventmachine-1.2.7
Done installing documentation for eventmachine after 0 seconds
1 gem installed

However, then when I go to bundle install again, I get this mess. Looks like it's missing various ruby specific headers. Should I manually go in and modify the ruby.h or something? That seems insane.

$  bundle install
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
Fetching gem metadata from https://rubygems.org/.........
Using rake 12.3.3
Using concurrent-ruby 1.1.10
Using i18n 0.9.5
Using minitest 5.17.0
Using thread_safe 0.3.6
Using tzinfo 1.2.10
Using zeitwerk 2.6.6
Using activesupport 6.0.6
Using public_suffix 5.0.1
Using addressable 2.8.1
Using bundler 2.1.4
Using colorator 1.1.0
Fetching eventmachine 1.2.7
Installing eventmachine 1.2.7 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/Users/johnlarkin/Desktop/Coding_Learning/github_files/johnlarkin1.github.io/vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/ext
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/bin/ruby -I /Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/3.1.0
extconf.rb --with-cppflags\=-I/opt/homebrew/opt/openssl@3/include
checking for -lcrypto... yes
checking for -lssl... yes
checking for openssl/ssl.h... yes
checking for openssl/err.h... yes
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... no
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_fd_select()... yes
checking for rb_fdset_t in ruby/intern.h... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_enable_interrupt()... no
checking for rb_time_new()... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... yes
checking for pipe2() in unistd.h... no
checking for accept4() in sys/socket.h... no
checking for SOCK_CLOEXEC in sys/socket.h... no
checking for sys/event.h... yes
checking for sys/queue.h... yes
checking for clock_gettime()... yes
checking for CLOCK_MONOTONIC_RAW in time.h... yes
checking for CLOCK_MONOTONIC in time.h... yes
CXXFLAGS=-fdeclspec -Wall -Wextra -Wno-deprecated-declarations -Wno-ignored-qualifiers -Wno-unused-result
-Wno-address
creating Makefile

current directory:
/Users/johnlarkin/Desktop/Coding_Learning/github_files/johnlarkin1.github.io/vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/ext
make DESTDIR\= sitearchdir\=./.gem.20230405-12699-kgsdex sitelibdir\=./.gem.20230405-12699-kgsdex clean

current directory:
/Users/johnlarkin/Desktop/Coding_Learning/github_files/johnlarkin1.github.io/vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/ext
make DESTDIR\= sitearchdir\=./.gem.20230405-12699-kgsdex sitelibdir\=./.gem.20230405-12699-kgsdex
compiling binder.cpp
compiling cmain.cpp
compiling ed.cpp
compiling em.cpp
em.cpp:2119:3: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only.  Due to
security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.
[-Wdeprecated-declarations]
                sprintf(errbuf, "failed to register file watch descriptor with kqueue: %s", strerror(errno));
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly
marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in
the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro
'__deprecated_msg'
        #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                      ^
em.cpp:2186:3: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only.  Due to
security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.
[-Wdeprecated-declarations]
                sprintf(errbuf, "error registering file %s for watching: %s", fpath, strerror(errno));
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly
marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in
the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro
'__deprecated_msg'
        #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                      ^
em.cpp:2214:3: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only.  Due to
security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.
[-Wdeprecated-declarations]
                sprintf(errbuf, "failed to open file %s for registering with kqueue: %s", fpath, strerror(errno));
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly
marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in
the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro
'__deprecated_msg'
        #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                      ^
em.cpp:2365:3: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only.  Due to
security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.
[-Wdeprecated-declarations]
                sprintf(errbuf, "failed to register file watch descriptor with kqueue: %s", strerror(errno));
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly
marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in
the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro
'__deprecated_msg'
        #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                      ^
4 warnings generated.
compiling kb.cpp
compiling page.cpp
compiling pipe.cpp
compiling rubymain.cpp
rubymain.cpp:220:3: warning: 'rb_rescue' is deprecated: Use of ANYARGS in this function is deprecated
[-Wdeprecated-declarations]
rb_rescue((VALUE (*)(ANYARGS))event_callback, (VALUE)&e, (VALUE (*)(ANYARGS))event_error_handler,
Qnil);
                ^
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/include/ruby-3.1.0/ruby/backward/cxxanyargs.hpp:246:1: note: 'rb_rescue'
has been explicitly marked deprecated here
RUBY_CXX_DEPRECATED("Use of ANYARGS in this function is deprecated")
^
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/include/ruby-3.1.0/ruby/backward/2/attributes.h:78:35: note: expanded from
macro 'RUBY_CXX_DEPRECATED'
#define RUBY_CXX_DEPRECATED(mseg) RBIMPL_ATTR_DEPRECATED((mseg))
                                  ^
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/include/ruby-3.1.0/ruby/internal/attr/deprecated.h:36:53: note: expanded
from macro 'RBIMPL_ATTR_DEPRECATED'
# define RBIMPL_ATTR_DEPRECATED(msg) __attribute__((__deprecated__ msg))
                                                    ^
1 warning generated.
compiling ssl.cpp
ssl.cpp:216:9: warning: 'PEM_read_bio_DHparams' is deprecated [-Wdeprecated-declarations]
                        dh = PEM_read_bio_DHparams(bio, NULL, NULL, NULL);
                             ^
/opt/homebrew/opt/openssl@3/include/openssl/pem.h:472:21: note: 'PEM_read_bio_DHparams' has been explicitly marked
deprecated here
DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, DHparams, DH)
                    ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
ssl.cpp:227:4: warning: 'DH_free' is deprecated [-Wdeprecated-declarations]
                        DH_free(dh);
                        ^
/opt/homebrew/opt/openssl@3/include/openssl/dh.h:203:1: note: 'DH_free' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
ssl.cpp:243:12: warning: 'EC_KEY_new_by_curve_name' is deprecated [-Wdeprecated-declarations]
                                ecdh = EC_KEY_new_by_curve_name(nid);
                                       ^
/opt/homebrew/opt/openssl@3/include/openssl/ec.h:1001:1: note: 'EC_KEY_new_by_curve_name' has been explicitly
marked deprecated here
OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_by_curve_name(int nid);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
ssl.cpp:254:5: warning: 'EC_KEY_free' is deprecated [-Wdeprecated-declarations]
                                EC_KEY_free(ecdh);
                                ^
/opt/homebrew/opt/openssl@3/include/openssl/ec.h:1006:1: note: 'EC_KEY_free' has been explicitly marked deprecated
here
OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
4 warnings generated.
linking shared-object rubyeventmachine.bundle
Undefined symbols for architecture arm64:
  "_SSL_get1_peer_certificate", referenced from:
      SslBox_t::GetPeerCert() in ssl.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [rubyeventmachine.bundle] Error 1

make failed, exit code 2

Gem files will remain installed in
/Users/johnlarkin/Desktop/Coding_Learning/github_files/johnlarkin1.github.io/vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7
for inspection.
Results logged to
/Users/johnlarkin/Desktop/Coding_Learning/github_files/johnlarkin1.github.io/vendor/bundle/ruby/3.1.0/extensions/arm64-darwin-22/3.1.0/eventmachine-1.2.7/gem_make.out

An error occurred while installing eventmachine (1.2.7), and Bundler cannot continue.
Make sure that `gem install eventmachine -v '1.2.7' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  jekyll-sleek was resolved to 0.1.9, which depends on
    jekyll-seo-tag was resolved to 2.8.0, which depends on
      jekyll was resolved to 3.9.2, which depends on
        em-websocket was resolved to 0.5.3, which depends on
          eventmachine

Did you try upgrading rubygems & bundler?

I believe these are latest:

$  gem -v
3.4.10

$  bundle -v
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
Bundler version 2.1.4

And again, bundle update --bundler is borked:

╭─johnlarkin@MacBook-Air ~/Desktop/Coding_Learning/github_files/johnlarkin1.github.io ‹master*›
╰─➤  bundle update --bundler
Fetching gem metadata from https://rubygems.org/.
Fetching gem metadata from https://rubygems.org/.........
Using rake 12.3.3
Using zeitwerk 2.6.6
Using public_suffix 5.0.1
Fetching http_parser.rb 0.8.0
Using minitest 5.17.0
Using thread_safe 0.3.6
Using colorator 1.1.0
Fetching gemoji 4.0.1
Fetching mini_portile2 2.8.1
Fetching ffi 1.15.5
Fetching forwardable-extended 2.6.0
Using bundler 2.4.10
Using concurrent-ruby 1.1.10
Fetching racc 1.6.2
Fetching rb-fsevent 0.11.2
Installing eventmachine 1.2.7 with native extensions
Installing mini_portile2 2.8.1
Installing racc 1.6.2 with native extensions
Installing gemoji 4.0.1
Installing rb-fsevent 0.11.2
Fetching rexml 3.2.5
Fetching liquid 4.0.3
Installing forwardable-extended 2.6.0
Installing http_parser.rb 0.8.0 with native extensions
Fetching mercenary 0.3.6
Fetching rouge 3.30.0
Installing liquid 4.0.3
Installing rexml 3.2.5
Installing ffi 1.15.5 with native extensions
Installing mercenary 0.3.6
Fetching safe_yaml 1.0.5
Using addressable 2.8.1
Using tzinfo 1.2.10
Using i18n 0.9.5
Fetching pathutil 0.16.2
Fetching webrick 1.7.0
Installing rouge 3.30.0
Installing safe_yaml 1.0.5
Installing pathutil 0.16.2
Installing webrick 1.7.0
Fetching kramdown 2.4.0
Using activesupport 6.0.6
Installing kramdown 2.4.0
Fetching kramdown-parser-gfm 1.1.0
Fetching nokogiri 1.13.10
Installing kramdown-parser-gfm 1.1.0
Installing nokogiri 1.13.10 with native extensions
Fetching rb-inotify 0.10.1
Installing rb-inotify 0.10.1
Fetching listen 3.7.1
Fetching sass-listen 4.0.0
Installing sass-listen 4.0.0
Fetching sass 3.7.4
Installing listen 3.7.1
Fetching jekyll-watch 2.2.1
Installing sass 3.7.4
Installing jekyll-watch 2.2.1
Fetching jekyll-sass-converter 1.5.2
Installing jekyll-sass-converter 1.5.2
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/Users/johnlarkin/Desktop/Coding_Learning/github_files/johnlarkin1.github.io/vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/ext
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/bin/ruby extconf.rb --with-cppflags\=-I/opt/homebrew/opt/openssl@3/include
checking for -lcrypto... yes
checking for -lssl... yes
checking for openssl/ssl.h... yes
checking for openssl/err.h... yes
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... no
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_fd_select()... yes
checking for rb_fdset_t in ruby/intern.h... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_enable_interrupt()... no
checking for rb_time_new()... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... yes
checking for pipe2() in unistd.h... no
checking for accept4() in sys/socket.h... no
checking for SOCK_CLOEXEC in sys/socket.h... no
checking for sys/event.h... yes
checking for sys/queue.h... yes
checking for clock_gettime()... yes
checking for CLOCK_MONOTONIC_RAW in time.h... yes
checking for CLOCK_MONOTONIC in time.h... yes
CXXFLAGS=-fdeclspec -Wall -Wextra -Wno-deprecated-declarations -Wno-ignored-qualifiers -Wno-unused-result
-Wno-address
creating Makefile

current directory:
/Users/johnlarkin/Desktop/Coding_Learning/github_files/johnlarkin1.github.io/vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/ext
make DESTDIR\= sitearchdir\=./.gem.20230405-14830-54d747 sitelibdir\=./.gem.20230405-14830-54d747 clean

current directory:
/Users/johnlarkin/Desktop/Coding_Learning/github_files/johnlarkin1.github.io/vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/ext
make DESTDIR\= sitearchdir\=./.gem.20230405-14830-54d747 sitelibdir\=./.gem.20230405-14830-54d747
compiling binder.cpp
compiling cmain.cpp
compiling ed.cpp
compiling em.cpp
em.cpp:2119:3: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only.  Due to
security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.
[-Wdeprecated-declarations]
                sprintf(errbuf, "failed to register file watch descriptor with kqueue: %s", strerror(errno));
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly
marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in
the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro
'__deprecated_msg'
        #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                      ^
em.cpp:2186:3: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only.  Due to
security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.
[-Wdeprecated-declarations]
                sprintf(errbuf, "error registering file %s for watching: %s", fpath, strerror(errno));
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly
marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in
the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro
'__deprecated_msg'
        #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                      ^
em.cpp:2214:3: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only.  Due to
security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.
[-Wdeprecated-declarations]
                sprintf(errbuf, "failed to open file %s for registering with kqueue: %s", fpath, strerror(errno));
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly
marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in
the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro
'__deprecated_msg'
        #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                      ^
em.cpp:2365:3: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only.  Due to
security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.
[-Wdeprecated-declarations]
                sprintf(errbuf, "failed to register file watch descriptor with kqueue: %s", strerror(errno));
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly
marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in
the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro
'__deprecated_msg'
        #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                      ^
4 warnings generated.
compiling kb.cpp
compiling page.cpp
compiling pipe.cpp
compiling rubymain.cpp
rubymain.cpp:220:3: warning: 'rb_rescue' is deprecated: Use of ANYARGS in this function is deprecated
[-Wdeprecated-declarations]
rb_rescue((VALUE (*)(ANYARGS))event_callback, (VALUE)&e, (VALUE (*)(ANYARGS))event_error_handler,
Qnil);
                ^
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/include/ruby-3.1.0/ruby/backward/cxxanyargs.hpp:246:1: note: 'rb_rescue'
has been explicitly marked deprecated here
RUBY_CXX_DEPRECATED("Use of ANYARGS in this function is deprecated")
^
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/include/ruby-3.1.0/ruby/backward/2/attributes.h:78:35: note: expanded from
macro 'RUBY_CXX_DEPRECATED'
#define RUBY_CXX_DEPRECATED(mseg) RBIMPL_ATTR_DEPRECATED((mseg))
                                  ^
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/include/ruby-3.1.0/ruby/internal/attr/deprecated.h:36:53: note: expanded
from macro 'RBIMPL_ATTR_DEPRECATED'
# define RBIMPL_ATTR_DEPRECATED(msg) __attribute__((__deprecated__ msg))
                                                    ^
1 warning generated.
compiling ssl.cpp
ssl.cpp:216:9: warning: 'PEM_read_bio_DHparams' is deprecated [-Wdeprecated-declarations]
                        dh = PEM_read_bio_DHparams(bio, NULL, NULL, NULL);
                             ^
/opt/homebrew/opt/openssl@3/include/openssl/pem.h:472:21: note: 'PEM_read_bio_DHparams' has been explicitly marked
deprecated here
DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, DHparams, DH)
                    ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
ssl.cpp:227:4: warning: 'DH_free' is deprecated [-Wdeprecated-declarations]
                        DH_free(dh);
                        ^
/opt/homebrew/opt/openssl@3/include/openssl/dh.h:203:1: note: 'DH_free' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
ssl.cpp:243:12: warning: 'EC_KEY_new_by_curve_name' is deprecated [-Wdeprecated-declarations]
                                ecdh = EC_KEY_new_by_curve_name(nid);
                                       ^
/opt/homebrew/opt/openssl@3/include/openssl/ec.h:1001:1: note: 'EC_KEY_new_by_curve_name' has been explicitly
marked deprecated here
OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_by_curve_name(int nid);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
ssl.cpp:254:5: warning: 'EC_KEY_free' is deprecated [-Wdeprecated-declarations]
                                EC_KEY_free(ecdh);
                                ^
/opt/homebrew/opt/openssl@3/include/openssl/ec.h:1006:1: note: 'EC_KEY_free' has been explicitly marked deprecated
here
OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
4 warnings generated.
linking shared-object rubyeventmachine.bundle
Undefined symbols for architecture arm64:
  "_SSL_get1_peer_certificate", referenced from:
      SslBox_t::GetPeerCert() in ssl.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [rubyeventmachine.bundle] Error 1

make failed, exit code 2

Gem files will remain installed in
/Users/johnlarkin/Desktop/Coding_Learning/github_files/johnlarkin1.github.io/vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7
for inspection.
Results logged to
/Users/johnlarkin/Desktop/Coding_Learning/github_files/johnlarkin1.github.io/vendor/bundle/ruby/3.1.0/extensions/arm64-darwin-22/3.1.0/eventmachine-1.2.7/gem_make.out

  /Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/rubygems/ext/builder.rb:119:in `run'
  /Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/rubygems/ext/builder.rb:51:in `block in make'
  /Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/rubygems/ext/builder.rb:43:in `each'
  /Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/rubygems/ext/builder.rb:43:in `make'
  /Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/rubygems/ext/ext_conf_builder.rb:41:in `build'
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/rubygems/ext/builder.rb:187:in
`build_extension'
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/rubygems/ext/builder.rb:221:in `block in
build_extensions'
  /Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/rubygems/ext/builder.rb:218:in `each'
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/rubygems/ext/builder.rb:218:in
`build_extensions'
  /Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/rubygems/installer.rb:843:in `build_extensions'
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/bundler/rubygems_gem_installer.rb:72:in
`build_extensions'
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/bundler/rubygems_gem_installer.rb:28:in
`install'
  /Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/bundler/source/rubygems.rb:200:in `install'
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/bundler/installer/gem_installer.rb:54:in
`install'
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/bundler/installer/parallel_installer.rb:156:in
`do_install'
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/bundler/installer/parallel_installer.rb:147:in
`block in worker_pool'
  /Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/bundler/worker.rb:62:in `apply_func'
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/bundler/worker.rb:57:in `block in
process_queue'
  /Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/bundler/worker.rb:54:in `loop'
  /Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/bundler/worker.rb:54:in `process_queue'
/Users/johnlarkin/.rvm/rubies/ruby-3.1.3/lib/ruby/site_ruby/3.1.0/bundler/worker.rb:90:in `block (2 levels) in
create_threads'

An error occurred while installing eventmachine (1.2.7), and Bundler cannot continue.

In Gemfile:
  jekyll-sleek was resolved to 0.1.9, which depends on
    jekyll-seo-tag was resolved to 2.8.0, which depends on
      jekyll was resolved to 3.9.2, which depends on
        em-websocket was resolved to 0.5.3, which depends on
          eventmachine

Post steps to reproduce the problem

It should just be trying to run with this on MacOS Ventura and getting bricked by eventmachine.

I installed Ruby with Homebrew as well as openssl with homebrew, which I'm sure is part of the problem. Please let me know if I need to require additional steps.

Which command did you run?

bundle install

What were you expecting to happen?

Target state is that I'm able to run this command successfully:

$  bundle exec jekyll serve --watch                                                                          
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
Could not find eventmachine-1.2.7 in any of the sources
Run `bundle install` to install missing gems.

What actually happened?

See above

If not included with the output of your command, run bundle env and paste the output below

Pasting output now:

$ bundle env 7 ↵
Calling DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call DidYouMean.correct_error(error_name, spell_checker)' instead.

Environment

Bundler       2.1.4
  Platforms   ruby, arm64-darwin-22
Ruby          3.1.3p185 (2022-11-24 revision 1a6b16756e0ba6b95ab71a441357ed5484e33498) [arm64-darwin22]
  Full Path   /Users/johnlarkin/.rvm/rubies/ruby-3.1.3/bin/ruby
  Config Dir  /Users/johnlarkin/.rvm/rubies/ruby-3.1.3/etc
RubyGems      3.4.10
  Gem Home    /Users/johnlarkin/Desktop/github_files/johnlarkin1.github.io/vendor/bundle/ruby/3.1.0
  Gem Path    /Users/johnlarkin/Desktop/github_files/johnlarkin1.github.io/vendor/bundle/ruby/3.1.0
  User Home   /Users/johnlarkin
  User Path   /Users/johnlarkin/.gem/ruby/3.1.0
  Bin Dir     /Users/johnlarkin/Desktop/github_files/johnlarkin1.github.io/vendor/bundle/ruby/3.1.0/bin
Tools
  Git         2.37.0 (Apple Git-136)
  RVM         1.29.12 (latest)
  rbenv       rbenv 1.2.0
  chruby      not installed

Bundler Build Metadata

Built At          2020-01-05
Git SHA           32a4159325
Released Version  true

Bundler settings

build.nokogiri
  Set for the current user (/Users/johnlarkin/.bundle/config): "--use-system-libraries"
force_ruby_platform
  Set for the current user (/Users/johnlarkin/.bundle/config): true
build.eventmachine
  Set for the current user (/Users/johnlarkin/.bundle/config): "--with-cppflags=-I/opt/homebrew/opt/openssl@3/include"
path
  Set for your local app (/Users/johnlarkin/Desktop/github_files/johnlarkin1.github.io/.bundle/config): "vendor/bundle"

Gemfile

Gemfile

# frozen_string_literal: true

gem "kramdown-parser-gfm"
gem "webrick"
gem "jemoji"
source "https://rubygems.org"
gemspec

Gemfile.lock

PATH
  remote: .
  specs:
    jekyll-sleek (0.1.9)
      jekyll (~> 3.6)
      jekyll-seo-tag (~> 2.3)
      jekyll-sitemap (~> 1.1)

GEM
  remote: https://rubygems.org/
  specs:
    activesupport (6.0.6)
      concurrent-ruby (~> 1.0, >= 1.0.2)
      i18n (>= 0.7, < 2)
      minitest (~> 5.1)
      tzinfo (~> 1.1)
      zeitwerk (~> 2.2, >= 2.2.2)
    addressable (2.8.1)
      public_suffix (>= 2.0.2, < 6.0)
    colorator (1.1.0)
    concurrent-ruby (1.1.10)
    em-websocket (0.5.3)
      eventmachine (>= 0.12.9)
      http_parser.rb (~> 0)
    eventmachine (1.2.7)
    ffi (1.15.5)
    forwardable-extended (2.6.0)
    gemoji (4.0.1)
    html-pipeline (2.14.3)
      activesupport (>= 2)
      nokogiri (>= 1.4)
    http_parser.rb (0.8.0)
    i18n (0.9.5)
      concurrent-ruby (~> 1.0)
    jekyll (3.9.2)
      addressable (~> 2.4)
      colorator (~> 1.0)
      em-websocket (~> 0.5)
      i18n (~> 0.7)
      jekyll-sass-converter (~> 1.0)
      jekyll-watch (~> 2.0)
      kramdown (>= 1.17, < 3)
      liquid (~> 4.0)
      mercenary (~> 0.3.3)
      pathutil (~> 0.9)
      rouge (>= 1.7, < 4)
      safe_yaml (~> 1.0)
    jekyll-sass-converter (1.5.2)
      sass (~> 3.4)
    jekyll-seo-tag (2.8.0)
      jekyll (>= 3.8, < 5.0)
    jekyll-sitemap (1.4.0)
      jekyll (>= 3.7, < 5.0)
    jekyll-watch (2.2.1)
      listen (~> 3.0)
    jemoji (0.13.0)
      gemoji (>= 3, < 5)
      html-pipeline (~> 2.2)
      jekyll (>= 3.0, < 5.0)
    kramdown (2.4.0)
      rexml
    kramdown-parser-gfm (1.1.0)
      kramdown (~> 2.0)
    liquid (4.0.3)
    listen (3.7.1)
      rb-fsevent (~> 0.10, >= 0.10.3)
      rb-inotify (~> 0.9, >= 0.9.10)
    mercenary (0.3.6)
    mini_portile2 (2.8.1)
    minitest (5.17.0)
    nokogiri (1.13.10)
      mini_portile2 (~> 2.8.0)
      racc (~> 1.4)
    pathutil (0.16.2)
      forwardable-extended (~> 2.6)
    public_suffix (5.0.1)
    racc (1.6.2)
    rake (12.3.3)
    rb-fsevent (0.11.2)
    rb-inotify (0.10.1)
      ffi (~> 1.0)
    rexml (3.2.5)
    rouge (3.30.0)
    safe_yaml (1.0.5)
    sass (3.7.4)
      sass-listen (~> 4.0.0)
    sass-listen (4.0.0)
      rb-fsevent (~> 0.9, >= 0.9.4)
      rb-inotify (~> 0.9, >= 0.9.7)
    thread_safe (0.3.6)
    tzinfo (1.2.10)
      thread_safe (~> 0.1)
    webrick (1.7.0)
    zeitwerk (2.6.6)

PLATFORMS
  ruby

DEPENDENCIES
  bundler (>= 1.12)
  jekyll-sleek!
  jemoji
  kramdown-parser-gfm
  rake (~> 12.3)
  webrick

BUNDLED WITH
   2.1.4

Gemspecs

jekyll-sleek.gemspec

# coding: utf-8

Gem::Specification.new do |spec|
  spec.name          = "jekyll-sleek"
  spec.version       = "0.1.9"
  spec.authors       = ["Jan Czizikow"]
  spec.email         = ["jan.czizikow@gmail.com"]

  spec.summary       = %q{Sleek is a modern Jekyll theme focused on speed performance & SEO best practices.}
  spec.homepage      = "https://janczizikow.github.io/sleek/"
  spec.license       = "MIT"

  spec.files         = `git ls-files -z`.split("\x0").select do |f|
    f.match(%r!^(assets|_(includes|layouts|sass)/|(LICENSE|README)((\.(txt|md|markdown)|$)))!i)
  end

  spec.platform      = Gem::Platform::RUBY
  spec.add_runtime_dependency "jekyll", "~> 3.6"
  spec.add_runtime_dependency "jekyll-seo-tag", "~> 2.3"
  spec.add_runtime_dependency "jekyll-sitemap", "~> 1.1"

  spec.add_development_dependency "bundler", ">= 1.12"
  spec.add_development_dependency "rake", "~> 12.3"
end

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions