oracle / truffleruby

A high performance implementation of the Ruby programming language, built on GraalVM.
https://www.graalvm.org/ruby/
Other
2.99k stars 181 forks source link

Unable to install nokogiri 1.13.0 on truffleruby 21.3.0 on macOS 11.6.2 #2562

Closed skunkworker closed 2 years ago

skunkworker commented 2 years ago

I am currently unable to install nokogiri on my mac. I've tried --use-system-libraries and it still is not working but complaining about missing a header file 'graalvm/llvm/polyglot.h'

truffleruby-21.3.0 was installed through rvm

I did just notice that I don't have llvm installed through homebrew, just clang from xcode.

clang

Apple clang version 13.0.0 (clang-1300.0.29.30)
Target: x86_64-apple-darwin20.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Below is the stacktrace when installing from bundler

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/nokogiri-1.13.0/ext/nokogiri
/Users/john/.rvm/rubies/truffleruby-21.3.0/bin/truffleruby -I /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri -r ./siteconf20220107-91651-fuhz9j.rb extconf.rb --use-system-libraries
checking for whether -std=c99 is accepted as CFLAGS... yes
checking for whether -Wno-declaration-after-statement is accepted as CFLAGS... yes
checking for whether -g is accepted as CFLAGS... yes
checking for whether -Winline is accepted as CFLAGS... yes
checking for whether -Wmissing-noreturn is accepted as CFLAGS... yes
checking for whether -Wno-error=unused-command-line-argument-hard-error-in-future is accepted as CFLAGS... no
checking for whether -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2 is accepted as CPPFLAGS... yes
Building nokogiri using system libraries.
checking for gzdopen() in -lz... yes
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... yes
checking for exsltFuncRegister() in -lexslt... yes
Using mini_portile version 2.7.1
---------- IMPORTANT NOTICE ----------
Building Nokogiri with a packaged version of libgumbo-1.0.0-nokogiri.
Configuration options: --enable-shared --disable-static
Copying gumbo-parser files into tmp/x86_64-unknown-darwin/ports/libgumbo/1.0.0-nokogiri/gumbo-parser...
Running 'compile' for libgumbo 1.0.0-nokogiri... OK
Activating libgumbo 1.0.0-nokogiri (from ports/x86_64-darwin18/libgumbo/1.0.0-nokogiri)...
checking for whether -I/Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/nokogiri-1.13.0/ext/nokogiri/ports/x86_64-darwin18/libgumbo/1.0.0-nokogiri/include is accepted as CPPFLAGS... yes
checking for gumbo_parse_with_options() in gumbo.h... yes
checking for xmlHasFeature()... yes
checking for xmlFirstElementChild()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetValidStructuredErrors()... yes
checking for xmlSchemaSetValidStructuredErrors()... yes
checking for xmlSchemaSetParserStructuredErrors()... yes
checking for vasprintf()... yes
checking for whether -DNOKOGIRI_OTHER_LIBRARY_VERSIONS="\"libgumbo:1.0.0-nokogiri\"" is accepted as CPPFLAGS... yes
creating Makefile

current directory: /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/nokogiri-1.13.0/ext/nokogiri
make "DESTDIR=" clean

current directory: /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/nokogiri-1.13.0/ext/nokogiri
make "DESTDIR="
compiling gumbo.c
In file included from gumbo.c:30:
In file included from ./nokogiri.h:68:
In file included from /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/cext/include/ruby.h:33:
In file included from /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/cext/include/ruby/ruby.h:34:
/Users/john/.rvm/rubies/truffleruby-21.3.0/lib/cext/include/truffleruby/truffleruby-pre.h:25:10: fatal error: 'graalvm/llvm/polyglot.h' file not found
#include <graalvm/llvm/polyglot.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [gumbo.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/nokogiri-1.13.0 for inspection.
Results logged to /Users/john/.rvm/gems/truffleruby-21.3.0@app/extensions/x86_64-darwin/2.7.4.21.3.0.1/nokogiri-1.13.0/gem_make.out

  /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri/rubygems/ext/builder.rb:99:in `run'
  /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri/rubygems/ext/builder.rb:51:in `block in make'
  /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri/rubygems/ext/builder.rb:43:in `each'
  /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri/rubygems/ext/builder.rb:43:in `make'
  /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri/rubygems/ext/ext_conf_builder.rb:63:in `block in build'
  /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri/tempfile.rb:291:in `open'
  /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri/rubygems/ext/ext_conf_builder.rb:30:in `build'
  /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri/rubygems/ext/builder.rb:169:in `block in build_extension'
  /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri/monitor.rb:207:in `mon_synchronize'
  /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri/rubygems/ext/builder.rb:165:in `build_extension'
  /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri/rubygems/ext/builder.rb:210:in `block in build_extensions'
  /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri/rubygems/ext/builder.rb:207:in `each'
  /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri/rubygems/ext/builder.rb:207:in `build_extensions'
  /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri/rubygems/installer.rb:844:in `build_extensions'
  /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/bundler-2.2.25/lib/bundler/rubygems_gem_installer.rb:66:in `build_extensions'
  /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/bundler-2.2.25/lib/bundler/rubygems_gem_installer.rb:26:in `install'
  /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/bundler-2.2.25/lib/bundler/source/rubygems.rb:176:in `install'
  /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/bundler-2.2.25/lib/bundler/installer/gem_installer.rb:54:in `install'
  /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/bundler-2.2.25/lib/bundler/installer/gem_installer.rb:59:in `block in install_with_settings'
  /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/bundler-2.2.25/lib/bundler/rubygems_integration.rb:556:in `install_with_build_args'
  /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/bundler-2.2.25/lib/bundler/installer/gem_installer.rb:59:in `install_with_settings'
  /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/bundler-2.2.25/lib/bundler/installer/gem_installer.rb:16:in `install_from_spec'
  /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/bundler-2.2.25/lib/bundler/installer/parallel_installer.rb:186:in `do_install'
  /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/bundler-2.2.25/lib/bundler/installer/parallel_installer.rb:177:in `block in worker_pool'
  /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/bundler-2.2.25/lib/bundler/worker.rb:62:in `apply_func'
  /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/bundler-2.2.25/lib/bundler/worker.rb:57:in `block in process_queue'
  <internal:core> core/kernel.rb:407:in `loop'
  /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/bundler-2.2.25/lib/bundler/worker.rb:54:in `process_queue'
  /Users/john/.rvm/gems/truffleruby-21.3.0@app/gems/bundler-2.2.25/lib/bundler/worker.rb:91:in `block (2 levels) in create_threads'

An error occurred while installing nokogiri (1.13.0), and Bundler cannot continue.
eregon commented 2 years ago

Nowadays it's better to just use the defaults for nokogiri for TruffleRuby, not set --use-system-libraries.

I checked and it works fine on Linux (both gem install and with bundle install), and I'm pretty sure it works fine on macOS too (will ask a colleague to double check), so I think it must be something specific to your setup. Could you try gem install -V nokogiri to see if that works? I see you are using RVM gemsets, maybe that affects it. Could you try without a specific gemset? Maybe it's related to Apple's security system which might prevent executables to run/to be found in PATH? Can you try $(ruby -e 'puts RbConfig::CONFIG["CC"]') --version?

/Users/john/.rvm/rubies/truffleruby-21.3.0/lib/cext/include/truffleruby/truffleruby-pre.h:25:10: fatal error: 'graalvm/llvm/polyglot.h' file not found

This means the wrong clang/LLVM is used. The GraalVM LLVM toolchain should be prepended to PATH (unless --cexts-prepend-toolchain-to-path=false which is a debug option but I guess you're not using that). I assume you don't have TRUFFLERUBYOPT set? Maybe you have CPATH or other C-related compilation variables set? Showing your env would be helpful to assess that (feel free to filter anything sensitive there).

eregon commented 2 years ago

@nirvdrum confirmed it works fine on macOS (12.1) for both truffleruby-dev and 21.3.0.

skunkworker commented 2 years ago

thanks @eregon

I am right now on macOS 11.6.2 at the moment.

With rvm I'm on the (default) gemset for `truffleruby-21.3.0``

$(ruby -e 'puts RbConfig::CONFIG["CC"]') --version output

clang version 12.0.1 (GraalVM.org llvmorg-12.0.1-3-g6e0a5672bc-bgf11ed69a5a 6e0a5672bc058d882dce3d56f90b72b64a6870d7)
Target: x86_64-apple-darwin20.6.0
Thread model: posix
InstalledDir: /Users/johnbolliger/.rvm/rubies/truffleruby-21.3.0/lib/llvm-toolchain/bin

Here is my .env with only a few removed for privacy

SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.X9IbvaB8pS/Listeners
LC_TERMINAL_VERSION=3.4.14
COLORFGBG=15;0
ITERM_PROFILE=Default
XPC_FLAGS=0x0
LANG=en_US.UTF-8
PWD=/Users/john/tmp
SHELL=/usr/local/bin/zsh
__CFBundleIdentifier=com.googlecode.iterm2
SECURITYSESSIONID=186ab
TERM_PROGRAM_VERSION=3.4.14
TERM_PROGRAM=iTerm.app
PATH=/Users/john/.rvm/gems/truffleruby-21.3.0/bin:/Users/john/.rvm/gems/truffleruby-21.3.0@global/bin:/Users/john/.rvm/rubies/truffleruby-21.3.0/bin:/Users/john/.rvm/bin:~/.cargo/bin:/usr/local/opt/llvm@4/bin:/Users/john/go/bin:/usr/local/opt/gnu-sed/libexec/gnubin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/john/bin
LC_TERMINAL=iTerm2
COLORTERM=truecolor
COMMAND_MODE=unix2003
TERM=xterm-256color
HOME=/Users/john
USER=john
XPC_SERVICE_NAME=0
LOGNAME=john
LaunchInstanceID=5DB16140-AB37-4BB5-BA66-9E826E098A79
__CF_USER_TEXT_ENCODING=0x0:0:0
ITERM_SESSION_ID=w2t0p0:7C0DBC61-6F44-4425-8768-82676A122A93
SHLVL=1
OLDPWD=/Users/john
DISABLE_MAGIC_FUNCTIONS=true
OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
ZSH=/Users/john/Library/Caches/antibody/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh/
PKG_CONFIG_PATH=/usr/local/opt/openssl@1.1/lib/pkgconfig
THOR_MERGE=p4merge
P9K_SSH=0
rvm_prefix=/Users/john
rvm_path=/Users/john/.rvm
rvm_bin_path=/Users/john/.rvm/bin
rvm_version=1.29.12-next (master)
GEM_HOME=/Users/john/.rvm/gems/truffleruby-21.3.0
GEM_PATH=/Users/john/.rvm/gems/truffleruby-21.3.0:/Users/john/.rvm/gems/truffleruby-21.3.0@global
MY_RUBY_HOME=/Users/john/.rvm/rubies/truffleruby-21.3.0
IRBRC=/Users/john/.rvm/rubies/truffleruby-21.3.0/.irbrc
RUBY_VERSION=truffleruby-21.3.0
NVM_DIR=/Users/john/.nvm
NVM_CD_FLAGS=-q
NVM_RC_VERSION=
CC=gcc
SSL_CERT_FILE=/usr/local/etc/openssl/cert.pem
GOPATH=/Users/john/go
GOBIN=/Users/john/go/bin
EDITOR=subl
HOMEBREW_EDITOR=subl
HOMEBREW_GITHUB_API_TOKEN=fa67a188a3359ec46c470776bfcb54be95e2735b
MALLOC_ARENA_MAX=2
JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
P9K_TTY=old
_P9K_TTY=/dev/ttys011
rvm_alias_expanded=
rvm_bin_flag=
rvm_docs_type=
rvm_gemstone_package_file=
rvm_gemstone_url=
rvm_niceness=
rvm_nightly_flag=
rvm_only_path_flag=
rvm_pretty_print_flag=auto
rvm_proxy=
rvm_quiet_flag=
rvm_ruby_bits=
rvm_ruby_file=
rvm_ruby_make=
rvm_ruby_make_install=
rvm_ruby_mode=
rvm_script_name=
rvm_sdk=
rvm_silent_flag=
rvm_use_flag=
rvm_ruby_string=
_=/usr/bin/env

And the failed gem install -V nokogiri backtrace:

$ gem install -V nokogiri                                                                                                             

/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/Gemfile
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/LICENSE-DEPENDENCIES.md
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/LICENSE.md
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/README.md
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/bin/nokogiri
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/dependencies.yml
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/depend
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/extconf.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/gumbo.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/html4_document.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/html4_element_description.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/html4_entity_lookup.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/html4_sax_parser_context.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/html4_sax_push_parser.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/libxml2_backwards_compat.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/nokogiri.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/nokogiri.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/test_global_handlers.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_attr.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_attribute_decl.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_cdata.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_comment.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_document.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_document_fragment.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_dtd.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_element_content.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_element_decl.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_encoding_handler.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_entity_decl.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_entity_reference.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_namespace.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_node.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_node_set.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_processing_instruction.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_reader.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_relax_ng.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_sax_parser.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_sax_parser_context.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_sax_push_parser.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_schema.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_syntax_error.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_text.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xml_xpath_context.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/xslt_stylesheet.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/CHANGES.md
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/Makefile
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/THANKS
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/Makefile
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/README.md
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/ascii.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/ascii.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/attribute.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/attribute.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/char_ref.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/char_ref.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/char_ref.rl
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/error.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/error.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/foreign_attrs.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/foreign_attrs.gperf
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/gumbo.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/insertion_mode.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/macros.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/parser.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/parser.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/replacement.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/string_buffer.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/string_buffer.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/string_piece.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/svg_attrs.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/svg_attrs.gperf
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/svg_tags.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/svg_tags.gperf
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/tag.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/tag_lookup.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/tag_lookup.gperf
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/tag_lookup.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/token_buffer.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/token_buffer.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/token_type.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/tokenizer.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/tokenizer.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/tokenizer_states.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/utf8.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/utf8.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/util.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/util.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/vector.c
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/gumbo-parser/src/vector.h
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/class_resolver.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/css.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/css/node.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/css/parser.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/css/parser.y
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/css/parser_extras.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/css/syntax_error.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/css/tokenizer.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/css/tokenizer.rex
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/css/xpath_visitor.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/decorators/slop.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/extension.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/gumbo.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html4.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html4/builder.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html4/document.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html4/document_fragment.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html4/element_description.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html4/element_description_defaults.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html4/entity_lookup.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html4/sax/parser.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html4/sax/parser_context.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html4/sax/push_parser.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html5.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html5/document.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html5/document_fragment.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/html5/node.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/jruby/dependencies.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/syntax_error.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/version.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/version/constant.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/version/info.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/attr.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/attribute_decl.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/builder.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/cdata.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/character_data.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/document.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/document_fragment.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/dtd.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/element_content.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/element_decl.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/entity_decl.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/entity_reference.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/namespace.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/node.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/node/save_options.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/node_set.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/notation.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/parse_options.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/pp.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/pp/character_data.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/pp/node.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/processing_instruction.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/reader.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/relax_ng.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/sax.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/sax/document.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/sax/parser.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/sax/parser_context.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/sax/push_parser.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/schema.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/searchable.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/syntax_error.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/text.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/xpath.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/xpath/syntax_error.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xml/xpath_context.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xslt.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/nokogiri/xslt/stylesheet.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/lib/xsd/xmlparser/nokogiri.rb
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0001-Remove-script-macro-support.patch
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0002-Update-entities-to-remove-handling-of-ssi.patch
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0003-libxml2.la-is-in-top_builddir.patch
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0004-use-glibc-strlen.patch
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0005-avoid-isnan-isinf.patch
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0006-update-automake-files-for-arm64.patch
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0007-Fix-XPath-recursion-limit.patch
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0008-htmlParseComment-handle-abruptly-closed-comments.patch
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0009-allow-wildcard-namespaces.patch
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxslt/0001-update-automake-files-for-arm64.patch
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxslt/0002-Fix-xml2-config-check-in-configure-script.patch
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ports/archives/libxml2-2.9.12.tar.gz
/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ports/archives/libxslt-1.1.34.tar.gz
Building native extensions with: '--disable-static'
This could take a while...
current directory: /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri
["/Users/john/.rvm/rubies/truffleruby-21.3.0/bin/truffleruby", "-I", "/Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri", "-r", "./siteconf20220110-72203-2ah8ja.rb", "extconf.rb", "--disable-static"]
checking for whether -std=c99 is accepted as CFLAGS... yes
checking for whether -Wno-declaration-after-statement is accepted as CFLAGS... yes
checking for whether -g is accepted as CFLAGS... yes
checking for whether -Winline is accepted as CFLAGS... yes
checking for whether -Wmissing-noreturn is accepted as CFLAGS... yes
checking for whether -Wno-error=unused-command-line-argument-hard-error-in-future is accepted as CFLAGS... no
Building nokogiri using packaged libraries.
Static linking is disabled.
Cross build is disabled.
checking for iconv.h... yes
Using mini_portile version 2.7.1
checking for iconv... yes
---------- IMPORTANT NOTICE ----------
Building Nokogiri with a packaged version of libxml2-2.9.12.
Configuration options: --host\=x86_64-unknown-darwin --enable-static --disable-shared --libdir\=/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ports/x86_64-darwin18/libxml2/2.9.12/lib --with-iconv\=yes --disable-dependency-tracking --without-python --without-readline --with-c14n --with-debug --with-threads --enable-shared --disable-static RANLIB\=/usr/bin/ranlib AR\=/usr/bin/ar CFLAGS\=-O2\ -U_FORTIFY_SOURCE\ -g
The following patches are being applied:
  - 0001-Remove-script-macro-support.patch
  - 0002-Update-entities-to-remove-handling-of-ssi.patch
  - 0003-libxml2.la-is-in-top_builddir.patch
  - 0004-use-glibc-strlen.patch
  - 0005-avoid-isnan-isinf.patch
  - 0006-update-automake-files-for-arm64.patch
  - 0007-Fix-XPath-recursion-limit.patch
  - 0008-htmlParseComment-handle-abruptly-closed-comments.patch
  - 0009-allow-wildcard-namespaces.patch

The Nokogiri maintainers intend to provide timely security updates, but if
this is a concern for you and want to use your OS/distro system library
instead, then abort this installation process and install nokogiri as
instructed at:

  https://nokogiri.org/tutorials/installing_nokogiri.html#installing-using-standard-system-libraries

Note, however, that nokogiri cannot guarantee compatibility with every
version of libxml2 that may be provided by OS/package vendors.

Extracting libxml2-2.9.12.tar.gz into tmp/x86_64-unknown-darwin/ports/libxml2/2.9.12... OK
Running git apply with /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0001-Remove-script-macro-support.patch... OK
Running git apply with /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0002-Update-entities-to-remove-handling-of-ssi.patch... OK
Running git apply with /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0003-libxml2.la-is-in-top_builddir.patch... OK
Running git apply with /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0004-use-glibc-strlen.patch... OK
Running git apply with /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0005-avoid-isnan-isinf.patch... OK
Running git apply with /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0006-update-automake-files-for-arm64.patch... OK
Running git apply with /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0007-Fix-XPath-recursion-limit.patch... OK
Running git apply with /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0008-htmlParseComment-handle-abruptly-closed-comments.patch... OK
Running git apply with /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxml2/0009-allow-wildcard-namespaces.patch... OK
Running 'configure' for libxml2 2.9.12... OK
Running 'compile' for libxml2 2.9.12... OK
Running 'install' for libxml2 2.9.12... OK
Activating libxml2 2.9.12 (from /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ports/x86_64-darwin18/libxml2/2.9.12)...
Using mini_portile version 2.7.1
---------- IMPORTANT NOTICE ----------
Building Nokogiri with a packaged version of libxslt-1.1.34.
Configuration options: --host\=x86_64-unknown-darwin --enable-static --disable-shared --libdir\=/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ports/x86_64-darwin18/libxslt/1.1.34/lib --disable-dependency-tracking --without-python --without-crypto --with-debug --with-libxml-prefix\=/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ports/x86_64-darwin18/libxml2/2.9.12 --enable-shared --disable-static RANLIB\=/usr/bin/ranlib AR\=/usr/bin/ar CFLAGS\=-O2\ -U_FORTIFY_SOURCE\ -g
The following patches are being applied:
  - 0001-update-automake-files-for-arm64.patch
  - 0002-Fix-xml2-config-check-in-configure-script.patch

The Nokogiri maintainers intend to provide timely security updates, but if
this is a concern for you and want to use your OS/distro system library
instead, then abort this installation process and install nokogiri as
instructed at:

  https://nokogiri.org/tutorials/installing_nokogiri.html#installing-using-standard-system-libraries

Extracting libxslt-1.1.34.tar.gz into tmp/x86_64-unknown-darwin/ports/libxslt/1.1.34... OK
Running git apply with /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxslt/0001-update-automake-files-for-arm64.patch... OK
Running git apply with /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/patches/libxslt/0002-Fix-xml2-config-check-in-configure-script.patch... OK
Running 'configure' for libxslt 1.1.34... OK
Running 'compile' for libxslt 1.1.34... OK
Running 'install' for libxslt 1.1.34... OK
Activating libxslt 1.1.34 (from /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ports/x86_64-darwin18/libxslt/1.1.34)...
checking for whether -DNOKOGIRI_PACKAGED_LIBRARIES is accepted as CPPFLAGS... yes
checking for whether -DNOKOGIRI_LIBXML2_PATCHES="\"0001-Remove-script-macro-support.patch 0002-Update-entities-to-remove-handling-of-ssi.patch 0003-libxml2.la-is-in-top_builddir.patch 0004-use-glibc-strlen.patch 0005-avoid-isnan-isinf.patch 0006-update-automake-files-for-arm64.patch 0007-Fix-XPath-recursion-limit.patch 0008-htmlParseComment-handle-abruptly-closed-comments.patch 0009-allow-wildcard-namespaces.patch\"" is accepted as CPPFLAGS... yes
checking for whether -DNOKOGIRI_LIBXSLT_PATCHES="\"0001-update-automake-files-for-arm64.patch 0002-Fix-xml2-config-check-in-configure-script.patch\"" is accepted as CPPFLAGS... yes
checking for xmlParseDoc() in libxml/parser.h... yes
checking for xsltParseStylesheetDoc() in libxslt/xslt.h... yes
checking for exsltFuncRegister() in libexslt/exslt.h... yes
Using mini_portile version 2.7.1
---------- IMPORTANT NOTICE ----------
Building Nokogiri with a packaged version of libgumbo-1.0.0-nokogiri.
Configuration options: --enable-shared --disable-static
Copying gumbo-parser files into tmp/x86_64-unknown-darwin/ports/libgumbo/1.0.0-nokogiri/gumbo-parser...
Running 'compile' for libgumbo 1.0.0-nokogiri... OK
Activating libgumbo 1.0.0-nokogiri (from ports/x86_64-darwin18/libgumbo/1.0.0-nokogiri)...
checking for whether -I/Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri/ports/x86_64-darwin18/libgumbo/1.0.0-nokogiri/include is accepted as CPPFLAGS... yes
checking for gumbo_parse_with_options() in gumbo.h... yes
checking for xmlHasFeature()... yes
checking for xmlFirstElementChild()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetValidStructuredErrors()... yes
checking for xmlSchemaSetValidStructuredErrors()... yes
checking for xmlSchemaSetParserStructuredErrors()... yes
checking for vasprintf()... yes
checking for whether -DNOKOGIRI_OTHER_LIBRARY_VERSIONS="\"libgumbo:1.0.0-nokogiri\"" is accepted as CPPFLAGS... yes
creating Makefile
current directory: /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri
"make \"DESTDIR=\" clean"

current directory: /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri
"make \"DESTDIR=\""
compiling gumbo.c
In file included from gumbo.c:30:
In file included from ./nokogiri.h:68:
In file included from /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/cext/include/ruby.h:33:
In file included from /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/cext/include/ruby/ruby.h:34:
/Users/john/.rvm/rubies/truffleruby-21.3.0/lib/cext/include/truffleruby/truffleruby-pre.h:25:10: fatal error: 'graalvm/llvm/polyglot.h' file not found
#include <graalvm/llvm/polyglot.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [gumbo.o] Error 1
ERROR:  Error installing nokogiri:
  ERROR: Failed to build gem native extension.

    current directory: /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri
/Users/john/.rvm/rubies/truffleruby-21.3.0/bin/truffleruby -I /Users/john/.rvm/rubies/truffleruby-21.3.0/lib/mri -r ./siteconf20220110-72203-2ah8ja.rb extconf.rb --disable-static
current directory: /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri
make "DESTDIR=" clean
current directory: /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri
make "DESTDIR="
Building has failed. See above output for more information on the failure.
make failed, exit code 2

Gem files will remain installed in /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0 for inspection.
Results logged to /Users/john/.rvm/gems/truffleruby-21.3.0/extensions/x86_64-darwin/2.7.4.21.3.0.1/nokogiri-1.13.0/gem_make.out
eregon commented 2 years ago

Thanks from that I see a couple things that might cause it:

eregon commented 2 years ago

What would be really useful is to see which cc/C compiler is used and the command lines used to compile. I'm not sure how to do that though, V=1 gem install -V nokogiri doesn't show anything extra. Maybe look in /Users/john/.rvm/gems/truffleruby-21.3.0/extensions/x86_64-darwin/2.7.4.21.3.0.1/nokogiri-1.13.0/gem_make.out ?

Also, to make sure, installing nokogiri 1.13.0 works on CRuby on your machine?

eregon commented 2 years ago

Ah, it's V=1 needs to be after make and not just in the env. So after the installation fail, could you do this:

cd /Users/john/.rvm/gems/truffleruby-21.3.0/gems/nokogiri-1.13.0/ext/nokogiri
make V=1

That should show C compiler command lines and help find out which compiler is used. Sharing the Makefile in that directory would also be helpful.

skunkworker commented 2 years ago

@eregon thanks. I updated to a newer version of llvm and removed CC=gcc and nokogiri installed successfully.