Closed skunkworker closed 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).
@nirvdrum confirmed it works fine on macOS (12.1) for both truffleruby-dev and 21.3.0.
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
Thanks from that I see a couple things that might cause it:
/usr/local/opt/llvm@4/bin
is in PATH but LLVM 4 is very old, so if you don't need it I would just uninstall it. In any case it's worth trying without it in PATHCC=gcc
this seems a possible cause of the issue, it might force many Makefile using CC
to use gcc instead of the default cc or the cc in PATH. Could you unset it?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?
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.
@eregon thanks. I updated to a newer version of llvm and removed CC=gcc
and nokogiri installed successfully.
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 throughrvm
I did just notice that I don't have llvm installed through homebrew, just clang from xcode.
clang
Below is the stacktrace when installing from bundler