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
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:
This command successfully installs
eventmachine:However, then when I go to
bundle installagain, 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.Did you try upgrading rubygems & bundler?
I believe these are latest:
And again,
bundle update --bundler is borked: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
opensslwith 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 installWhat were you expecting to happen?
Target state is that I'm able to run this command successfully:
What actually happened?
See above
If not included with the output of your command, run
bundle envand paste the output belowPasting output now:
$ bundle env 7 ↵
Calling
DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please callDidYouMean.correct_error(error_name, spell_checker)' instead.Environment
Bundler Build Metadata
Bundler settings
Gemfile
Gemfile
Gemfile.lock
Gemspecs
jekyll-sleek.gemspec