No action needed from the USWDS team- posting more as a reference for others if this issue is encountered.
Upon running npm install, error thrown when installing eventmachine-1.2.7 and saying 'openssl/ssl.h' file is not found. Openssl was installed previously and running which openssl was returning a path in the system.
The Fix
Reran brew install openssl
Output of install includes a note:
For compilers to find openssl@3 you may need to set:
export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
Copy contents of CPPFLAGS and entered gem install eventmachine -- --with-cppflags=-I/usr/local/opt/openssl@3/include into terminal
Eventmachine installed correctly, running npm install again completed the dependencies and npm start worked as expected.
Full Error Response
$ npm install
> postinstall
> npm run jekyll:install
> jekyll:install
> gem install bundler && bundle install
Successfully installed bundler-2.3.9
Parsing documentation for bundler-2.3.9
Done installing documentation for bundler after 0 seconds
1 gem installed
Fetching gem metadata from https://rubygems.org/.........
Using bundler 2.3.9
Using public_suffix 4.0.6
Using colorator 1.1.0
Using concurrent-ruby 1.1.9
Using http_parser.rb 0.8.0
Using ffi 1.15.5
Using forwardable-extended 2.6.0
Using rb-fsevent 0.11.0
Using rexml 3.2.5
Using mercenary 0.4.0
Using liquid 4.0.3
Using safe_yaml 1.0.5
Using rouge 3.27.0
Using webrick 1.7.0
Using unicode-display_width 1.8.0
Using i18n 1.8.11
Using terminal-table 2.0.0
Fetching eventmachine 1.2.7
Using kramdown 2.3.1
Using addressable 2.8.0
Using kramdown-parser-gfm 1.1.0
Using pathutil 0.16.2
Fetching sassc 2.4.0
Fetching rb-inotify 0.10.1
Installing eventmachine 1.2.7 with native extensions
Installing rb-inotify 0.10.1
Installing sassc 2.4.0 with native extensions
Fetching listen 3.7.0
Installing listen 3.7.0
Fetching jekyll-watch 2.2.1
Installing jekyll-watch 2.2.1
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/eventmachine-1.2.7/ext
/Users/markovogelgesang/.rvm/rubies/ruby-3.0.2/bin/ruby -I /Users/markovogelgesang/.rvm/rubies/ruby-3.0.2/lib/ruby/3.0.0 -r
./siteconf20220314-11195-exl5fm.rb extconf.rb
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= -Wall -Wextra -Wno-deprecated-declarations -Wno-ignored-qualifiers -Wno-unused-result -Wno-address
creating Makefile
current directory: /Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/eventmachine-1.2.7/ext
make DESTDIR\= clean
current directory: /Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/eventmachine-1.2.7/ext
make DESTDIR\=
compiling binder.cpp
In file included from binder.cpp:20:
./project.h:119:10: fatal error: 'openssl/ssl.h' file not found
#include <openssl/ssl.h>
^~~~~~~~~~~~~~~
1 error generated.
make: *** [binder.o] Error 1
make failed, exit code 2
Gem files will remain installed in /Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/eventmachine-1.2.7 for inspection.
Results logged to
/Users/markovogelgesang/.rvm/gems/ruby-3.0.2/extensions/x86_64-darwin-20/3.0.0/eventmachine-1.2.7/gem_make.out
/Users/markovogelgesang/.rvm/rubies/ruby-3.0.2/lib/ruby/3.0.0/rubygems/ext/builder.rb:91:in `run'
/Users/markovogelgesang/.rvm/rubies/ruby-3.0.2/lib/ruby/3.0.0/rubygems/ext/builder.rb:43:in `block in make'
/Users/markovogelgesang/.rvm/rubies/ruby-3.0.2/lib/ruby/3.0.0/rubygems/ext/builder.rb:35:in `each'
/Users/markovogelgesang/.rvm/rubies/ruby-3.0.2/lib/ruby/3.0.0/rubygems/ext/builder.rb:35:in `make'
/Users/markovogelgesang/.rvm/rubies/ruby-3.0.2/lib/ruby/3.0.0/rubygems/ext/ext_conf_builder.rb:64:in `block in build'
/Users/markovogelgesang/.rvm/rubies/ruby-3.0.2/lib/ruby/3.0.0/tempfile.rb:317:in `open'
/Users/markovogelgesang/.rvm/rubies/ruby-3.0.2/lib/ruby/3.0.0/rubygems/ext/ext_conf_builder.rb:28:in `build'
/Users/markovogelgesang/.rvm/rubies/ruby-3.0.2/lib/ruby/3.0.0/rubygems/ext/builder.rb:157:in `build_extension'
/Users/markovogelgesang/.rvm/rubies/ruby-3.0.2/lib/ruby/3.0.0/rubygems/ext/builder.rb:191:in `block in build_extensions'
/Users/markovogelgesang/.rvm/rubies/ruby-3.0.2/lib/ruby/3.0.0/rubygems/ext/builder.rb:188:in `each'
/Users/markovogelgesang/.rvm/rubies/ruby-3.0.2/lib/ruby/3.0.0/rubygems/ext/builder.rb:188:in `build_extensions'
/Users/markovogelgesang/.rvm/rubies/ruby-3.0.2/lib/ruby/3.0.0/rubygems/installer.rb:828:in `build_extensions'
/Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/bundler-2.3.9/lib/bundler/rubygems_gem_installer.rb:71:in
`build_extensions'
/Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/bundler-2.3.9/lib/bundler/rubygems_gem_installer.rb:28:in `install'
/Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/bundler-2.3.9/lib/bundler/source/rubygems.rb:204:in `install'
/Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/bundler-2.3.9/lib/bundler/installer/gem_installer.rb:54:in `install'
/Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/bundler-2.3.9/lib/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/bundler-2.3.9/lib/bundler/installer/parallel_installer.rb:186:in
`do_install'
/Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/bundler-2.3.9/lib/bundler/installer/parallel_installer.rb:177:in `block in
worker_pool'
/Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/bundler-2.3.9/lib/bundler/worker.rb:62:in `apply_func'
/Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/bundler-2.3.9/lib/bundler/worker.rb:57:in `block in process_queue'
/Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/bundler-2.3.9/lib/bundler/worker.rb:54:in `loop'
/Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/bundler-2.3.9/lib/bundler/worker.rb:54:in `process_queue'
/Users/markovogelgesang/.rvm/gems/ruby-3.0.2/gems/bundler-2.3.9/lib/bundler/worker.rb:91:in `block (2 levels) in
create_threads'
An error occurred while installing eventmachine (1.2.7), and Bundler cannot continue.
In Gemfile:
jekyll was resolved to 4.2.1, which depends on
em-websocket was resolved to 0.5.3, which depends on
eventmachine
npm ERR! code 5
npm ERR! path /Users/markovogelgesang/Sites/uswds-tutorial
npm ERR! command failed
npm ERR! command sh -c npm run jekyll:install
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/markovogelgesang/.npm/_logs/2022-03-15T01_41_42_786Z-debug.log
No action needed from the USWDS team- posting more as a reference for others if this issue is encountered.
Upon running
npm install
, error thrown when installing eventmachine-1.2.7 and saying 'openssl/ssl.h' file is not found. Openssl was installed previously and runningwhich openssl
was returning a path in the system.The Fix
Reran
brew install openssl
Output of install includes a note:
Copy contents of CPPFLAGS and entered
gem install eventmachine -- --with-cppflags=-I/usr/local/opt/openssl@3/include
into terminalEventmachine installed correctly, running
npm install
again completed the dependencies andnpm start
worked as expected.Full Error Response