Cannot install jekyll (eventmachine) on m1 mac
Asked Answered
N

4

11

I'm a real newbie to iOS development and wanna make a new GitHub blog.

I'm following How to install jekyll on Apple M1 Macbook as a reference.

And I've tried installing Jekyll on my M1 Pro Macbook (macOS Monterey 12.6) but it fails when installing Bundler and Jekyll with gem install --user-install bundler jekyll (output below).

I already read articles from many bloggers who finally succeeded. How can I solve this problem? Please somebody help me!

[eric@~/blog/hyleedevelop.github.io]$ gem install --user-install bundler jekyll
Successfully installed bundler-2.3.24
Parsing documentation for bundler-2.3.24
Done installing documentation for bundler after 0 seconds
Building native extensions. This could take a while...
ERROR:  Error installing jekyll:
    ERROR: Failed to build gem native extension.

    current directory: /Users/eric/.gem/ruby/3.0.0/gems/eventmachine-1.2.7/ext
/Users/eric/.rbenv/versions/3.0.0/bin/ruby -I /Users/eric/.rbenv/versions/3.0.0/lib/ruby/3.0.0 -r ./siteconf20221026-8644-6ak8a4.rb extconf.rb
checking for -lcrypto... no
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= -Wall -Wextra -Wno-deprecated-declarations -Wno-ignored-qualifiers -Wno-unused-result -Wno-address
creating Makefile

current directory: /Users/eric/.gem/ruby/3.0.0/gems/eventmachine-1.2.7/ext
make "DESTDIR=" clean

current directory: /Users/eric/.gem/ruby/3.0.0/gems/eventmachine-1.2.7/ext
make "DESTDIR="
compiling binder.cpp
compiling cmain.cpp
compiling ed.cpp
compiling em.cpp
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/eric/.rbenv/versions/3.0.0/include/ruby-3.0.0/ruby/backward/cxxanyargs.hpp:244:1: note: 'rb_rescue' has been explicitly marked deprecated here
RUBY_CXX_DEPRECATED("Use of ANYARGS in this function is deprecated")
^
/Users/eric/.rbenv/versions/3.0.0/include/ruby-3.0.0/ruby/backward/2/attributes.h:79:35: note: expanded from macro 'RUBY_CXX_DEPRECATED'
#define RUBY_CXX_DEPRECATED(mseg) RBIMPL_ATTR_DEPRECATED((mseg))
                                  ^
/Users/eric/.rbenv/versions/3.0.0/include/ruby-3.0.0/ruby/internal/attr/deprecated.h:32:53: note: expanded from macro 'RBIMPL_ATTR_DEPRECATED'
# define RBIMPL_ATTR_DEPRECATED(msg) __attribute__((__deprecated__ msg))
                                                    ^
1 warning generated.
compiling ssl.cpp
linking shared-object rubyeventmachine.bundle
Undefined symbols for architecture arm64:
  "_BIO_ctrl", referenced from:
      t_get_peer_cert(unsigned long, unsigned long) in rubymain.o
      _ssl_verify_wrapper in ssl.o
      SslBox_t::CanGetCiphertext() in ssl.o
      SslBox_t::PutPlaintext(char const*, int) in ssl.o
  "_BIO_free", referenced from:
      t_get_peer_cert(unsigned long, unsigned long) in rubymain.o
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
      InitializeDefaultCredentials() in ssl.o
      _ssl_verify_wrapper in ssl.o
  "_BIO_new", referenced from:
      t_get_peer_cert(unsigned long, unsigned long) in rubymain.o
      SslBox_t::SslBox_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, unsigned long) in ssl.o
      _ssl_verify_wrapper in ssl.o
  "_BIO_new_file", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_BIO_new_mem_buf", referenced from:
      InitializeDefaultCredentials() in ssl.o
  "_BIO_read", referenced from:
      SslBox_t::GetCiphertext(char*, int) in ssl.o
  "_BIO_s_mem", referenced from:
      t_get_peer_cert(unsigned long, unsigned long) in rubymain.o
      SslBox_t::SslBox_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, unsigned long) in ssl.o
      _ssl_verify_wrapper in ssl.o
  "_BIO_write", referenced from:
      _ssl_verify_wrapper in ssl.o
      SslBox_t::PutCiphertext(char const*, int) in ssl.o
  "_DH_free", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_EC_KEY_free", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_EC_KEY_new_by_curve_name", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_ERR_print_errors_fp", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
      SslBox_t::SslBox_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, unsigned long) in ssl.o
      SslBox_t::GetPlaintext(char*, int) in ssl.o
  "_EVP_PKEY_free", referenced from:
      InitializeDefaultCredentials() in ssl.o
      SslContext_t::~SslContext_t() in ssl.o
  "_OBJ_sn2nid", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_OPENSSL_init_crypto", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_OPENSSL_init_ssl", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_PEM_read_bio_DHparams", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_PEM_read_bio_PrivateKey", referenced from:
      InitializeDefaultCredentials() in ssl.o
  "_PEM_read_bio_X509", referenced from:
      InitializeDefaultCredentials() in ssl.o
  "_PEM_write_bio_X509", referenced from:
      t_get_peer_cert(unsigned long, unsigned long) in rubymain.o
      _ssl_verify_wrapper in ssl.o
  "_SSL_CIPHER_get_bits", referenced from:
      SslBox_t::GetCipherBits() in ssl.o
  "_SSL_CIPHER_get_name", referenced from:
      SslBox_t::GetCipherName() in ssl.o
  "_SSL_CIPHER_get_version", referenced from:
      SslBox_t::GetCipherProtocol() in ssl.o
  "_SSL_CTX_ctrl", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_SSL_CTX_free", referenced from:
      SslContext_t::~SslContext_t() in ssl.o
  "_SSL_CTX_new", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_SSL_CTX_set_cipher_list", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_SSL_CTX_set_options", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_SSL_CTX_set_session_id_context", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_SSL_CTX_use_PrivateKey", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_SSL_CTX_use_PrivateKey_file", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_SSL_CTX_use_certificate", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_SSL_CTX_use_certificate_chain_file", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_SSL_accept", referenced from:
      SslBox_t::GetPlaintext(char*, int) in ssl.o
  "_SSL_clear", referenced from:
      SslBox_t::~SslBox_t() in ssl.o
  "_SSL_connect", referenced from:
      SslBox_t::SslBox_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, unsigned long) in ssl.o
      SslBox_t::GetPlaintext(char*, int) in ssl.o
  "_SSL_ctrl", referenced from:
      SslBox_t::SslBox_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, unsigned long) in ssl.o
  "_SSL_free", referenced from:
      SslBox_t::~SslBox_t() in ssl.o
  "_SSL_get_current_cipher", referenced from:
      SslBox_t::GetCipherBits() in ssl.o
      SslBox_t::GetCipherName() in ssl.o
      SslBox_t::GetCipherProtocol() in ssl.o
  "_SSL_get_error", referenced from:
      SslBox_t::GetPlaintext(char*, int) in ssl.o
      SslBox_t::PutPlaintext(char const*, int) in ssl.o
  "_SSL_get_ex_data", referenced from:
      _ssl_verify_wrapper in ssl.o
  "_SSL_get_ex_data_X509_STORE_CTX_idx", referenced from:
      _ssl_verify_wrapper in ssl.o
  "_SSL_get_peer_certificate", referenced from:
      SslBox_t::GetPeerCert() in ssl.o
  "_SSL_get_servername", referenced from:
      SslBox_t::GetSNIHostname() in ssl.o
  "_SSL_get_shutdown", referenced from:
      SslBox_t::~SslBox_t() in ssl.o
  "_SSL_is_init_finished", referenced from:
      SslBox_t::GetPlaintext(char*, int) in ssl.o
      SslBox_t::PutPlaintext(char const*, int) in ssl.o
  "_SSL_new", referenced from:
      SslBox_t::SslBox_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, unsigned long) in ssl.o
  "_SSL_read", referenced from:
      SslBox_t::GetPlaintext(char*, int) in ssl.o
  "_SSL_set_bio", referenced from:
      SslBox_t::SslBox_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, unsigned long) in ssl.o
  "_SSL_set_ex_data", referenced from:
      SslBox_t::SslBox_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, unsigned long) in ssl.o
  "_SSL_set_verify", referenced from:
      SslBox_t::SslBox_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, unsigned long) in ssl.o
  "_SSL_shutdown", referenced from:
      SslBox_t::~SslBox_t() in ssl.o
  "_SSL_write", referenced from:
      SslBox_t::PutPlaintext(char const*, int) in ssl.o
  "_TLS_client_method", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_TLS_server_method", referenced from:
      SslContext_t::SslContext_t(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in ssl.o
  "_X509_STORE_CTX_get_current_cert", referenced from:
      _ssl_verify_wrapper in ssl.o
  "_X509_STORE_CTX_get_ex_data", referenced from:
      _ssl_verify_wrapper in ssl.o
  "_X509_free", referenced from:
      t_get_peer_cert(unsigned long, unsigned long) in rubymain.o
      InitializeDefaultCredentials() in ssl.o
      SslContext_t::~SslContext_t() 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/eric/.gem/ruby/3.0.0/gems/eventmachine-1.2.7 for inspection.
Results logged to /Users/eric/.gem/ruby/3.0.0/extensions/arm64-darwin-21/3.0.0/eventmachine-1.2.7/gem_make.out
1 gem installed
Nodal answered 25/10, 2022 at 15:53 Comment(2)
I would try to install the eventmachine gem first (see: #68731453) and then try bundle install again.Humblebee
I am using an M1 with Ruby 3.1.2 witout errors, Your undefined symbols errors all relate to SSL (ssl.o). Mabye your missing openssl. Don't forget to install openssl first, e.g. by running brew install openssl. Here's the solution: #30818891. It depends on how you have installed openssl.Tropaeolin
U
16

This worked for me:

gem install eventmachine -- --with-openssl-dir=/usr/local/opt/[email protected]
Unbuild answered 2/11, 2022 at 1:21 Comment(3)
I didn't have openssl at that location, probably because I installed it via home-brew. I was able to get this to work with gem install eventmachine -v '1.2.7' -- --with-openssl-dir=$(brew --prefix openssl).Disincline
(obviously change the 1.2.7 bit to whatever version you need)Disincline
gem install eventmachine -v '1.2.7' -- --with-openssl-dir=$(brew --prefix libressl) worked for me.Abydos
C
2

I solved this problem on my mac (intel, macos ventura,13.2.1).

There are two rubys on my computer, one installed via homebrew and one that comes with the system. First use which ruby to view the location of ruby and use brew --prefix ruby can see where homebrew is installed our ruby. Add this at the end of your ~/.zshrc file. I recommend to use ruby installed by homebrew, which is easier to upgrade.

On Mac Intel:

if [ -d "/usr/local/opt/ruby/bin" ]; then
  export PATH=/usr/local/opt/ruby/bin:$PATH
  export PATH=`gem environment gemdir`/bin:$PATH
fi

On Apple silicon:

if [ -d "/opt/homebrew/opt/ruby/bin" ]; then
  export PATH=/opt/homebrew/opt/ruby/bin:$PATH
  export PATH=`gem environment gemdir`/bin:$PATH
fi

load the config with command:

source ~/.zshrc

then continue to run: bundle install

Now everything works well.

Creole answered 22/3, 2023 at 6:55 Comment(0)
E
0

GitHub Pages uses ruby 2.7.4

https://pages.github.com/versions

However, you'd need to use a slightly newer version to build it on M1.

brew install rbenv ruby-build

cd <project>
rbenv install 2.7.8
rbenv local 2.7.8
bundle install

bundle exec jekyll serve

References:

https://github.com/rbenv/rbenv

Elsi answered 7/3, 2024 at 12:31 Comment(0)
P
-1

The Open SSL answer didn't fix it for me, it ended up being that I hadn't accepted the xCode license. This was specific to Mac OS Ventura, 2023

sudo xcodebuild -license accept

After running that, I could run bundle without issue

I do want to note that my error was different from OP:

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.
Persuasion answered 3/3, 2023 at 22:21 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.