From: ctm@... Date: 2018-12-12T22:03:25+00:00 Subject: [ruby-core:90459] [Ruby trunk Bug#15390] Error installing nokogiri on ruby-2.6.0-rc1 Issue #15390 has been updated by ctm (Cliff Matthews). I absolutely hate to waste anyone's time with speculation, but this may not be a problem with nokogiri, per-se. I mention this based on having spent a little time tracking this one down on my own and coming to partial conclusions when it showed up in 2.6.0-preview3. The issue appears to be with CC_WRAPPER, which wasn't present in preview1 or preview2, both of which compile nokogiri fine out of the box. At one point when I was tracking the problem down in preview3, I decided to look at recent commits to see if anything since preview3 had updated the CC_WRAPPER code, and I found: ~~~ commit 2b894084eff60a010b0f606c5c9731094358b041 Author: nobu Date: Sat Nov 17 01:42:30 2018 +0000 test/mkmf/base.rb: use CC_WRAPPER same as the toplevel ~~~ so I thought to myself "Oh, nobu has run into the same thing and fixed it." I didn't bother actually downloading the the source with that fix in it and testing, although in retrospect, I should have. Today I decided to check out rc1 and I found that nokogiri w/o using standard libs *still* doesn't compile and there's still a **"sh: CC_WRAPPER: command not found"** complaint, so I did some web searching and found this ticket. I'm adding this comment now, because I have a bit of a chest cold and am already behind on several other things so I don't know that I'll make any more progress, especially since I'm not particularly familiar with the intricacies of autotools and mkmf. As such, there's a chance that this comment is premature and will waste other people's time, but perhaps it will catch the attention of someone who knows this stuff inside and out who can quickly see if there's really an issue. So, for me, using macOS Mojave (10.14.1) and XCode 10.1, rbenv 1.1.1 and ruby-build stable 20181207 I can install nokogiri with the following command on 2.6.0-preview1, 2.6.0-preview2 and have it fail on 2.6.0-preview3 and 2.6.0-rc1: ~~~ gem install nokogiri -v '1.8.5' --source 'https://rubygems.org/' ~~~ If I search for the string CC_WRAPPER I only find it present in preview3 and rc1: ~~~ bash-3.2$ find ~/.rbenv/versions/2.6.0-* -type f -print0 | xargs -0 grep -l CC_WRAPPER | grep -v /gems/ /Users/newctm/.rbenv/versions/2.6.0-preview3/lib/ruby/2.6.0/x86_64-darwin18/rbconfig.rb /Users/newctm/.rbenv/versions/2.6.0-rc1/lib/ruby/2.6.0/mkmf.rb /Users/newctm/.rbenv/versions/2.6.0-rc1/lib/ruby/2.6.0/x86_64-darwin18/rbconfig.rb ~~~ I hope this info is useful and not a red herring. ---------------------------------------- Bug #15390: Error installing nokogiri on ruby-2.6.0-rc1 https://bugs.ruby-lang.org/issues/15390#change-75619 * Author: ned (Nedim Hadzimahmutovic) * Status: Third Party's Issue * Priority: Normal * Assignee: * Target version: * ruby -v: 2.6.0rc1 (2018-12-06 trunk 66253) [x86_64-darwin18] * Backport: 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- I am having issues with installing nokogiri on my Mac, Mojave 10.14.1 (18B75). ~~~ text nedims-MacBook-Pro:~ nedim$ rvm use ruby-2.6.0-rc1 Using /Users/nedim/.rvm/gems/ruby-2.6.0-rc1 nedims-MacBook-Pro:~ nedim$ gem install nokogiri Building native extensions. This could take a while... ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. current directory: /Users/nedim/.rvm/gems/ruby-2.6.0-rc1/gems/nokogiri-1.8.5/ext/nokogiri /Users/nedim/.rvm/rubies/ruby-2.6.0-rc1/bin/ruby -I /Users/nedim/.rvm/rubies/ruby-2.6.0-rc1/lib/ruby/2.6.0 -r ./siteconf20181207-15716-1b00x63.rb extconf.rb checking if the C compiler accepts ... yes checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no Building nokogiri using packaged libraries. Using mini_portile version 2.3.0 checking for iconv.h... yes checking for gzdopen() in -lz... yes sh: CC_WRAPPER: command not found checking for iconv using --with-opt-* flags... yes ************************************************************************ IMPORTANT NOTICE: Building Nokogiri with a packaged version of libxml2-2.9.8 with the following patches applied: - 0001-Revert-Do-not-URI-escape-in-server-side-includes.patch - 0002-Fix-nullptr-deref-with-XPath-logic-ops.patch - 0003-Fix-infinite-loop-in-LZMA-decompression.patch Team Nokogiri will keep on doing their best to provide security updates in a timely manner, but if this is a concern for you and want to use the system library instead; abort this installation process and reinstall nokogiri as follows: gem install nokogiri -- --use-system-libraries [--with-xml2-config=/path/to/xml2-config] [--with-xslt-config=/path/to/xslt-config] If you are using Bundler, tell it to use the option: bundle config build.nokogiri --use-system-libraries bundle install Note, however, that nokogiri is not fully compatible with arbitrary versions of libxml2 provided by OS/package vendors. ************************************************************************ Extracting libxml2-2.9.8.tar.gz into tmp/x86_64-apple-darwin18.2.0/ports/libxml2/2.9.8... OK Running git apply with /Users/nedim/.rvm/gems/ruby-2.6.0-rc1/gems/nokogiri-1.8.5/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch... OK Running git apply with /Users/nedim/.rvm/gems/ruby-2.6.0-rc1/gems/nokogiri-1.8.5/patches/libxml2/0002-Fix-nullptr-deref-with-XPath-logic-ops.patch... OK Running git apply with /Users/nedim/.rvm/gems/ruby-2.6.0-rc1/gems/nokogiri-1.8.5/patches/libxml2/0003-Fix-infinite-loop-in-LZMA-decompression.patch... OK Running 'configure' for libxml2 2.9.8... ERROR, review '/Users/nedim/.rvm/gems/ruby-2.6.0-rc1/gems/nokogiri-1.8.5/ext/nokogiri/tmp/x86_64-apple-darwin18.2.0/ports/libxml2/2.9.8/configure.log' to see what happened. Last lines are: ======================================================================== checking whether to enable maintainer-specific portions of Makefiles... yes checking build system type... x86_64-apple-darwin18.2.0 checking host system type... x86_64-apple-darwin18.2.0 checking for a BSD-compatible install... /usr/local/bin/ginstall -c checking whether build environment is sane... yes checking for x86_64-apple-darwin18.2.0-strip... no checking for strip... strip checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking for x86_64-apple-darwin18.2.0-gcc... $(CC_WRAPPER) gcc checking whether the C compiler works... no configure: error: in `/Users/nedim/.rvm/gems/ruby-2.6.0-rc1/gems/nokogiri-1.8.5/ext/nokogiri/tmp/x86_64-apple-darwin18.2.0/ports/libxml2/2.9.8/libxml2-2.9.8': configure: error: C compiler cannot create executables See `config.log' for more details ======================================================================== *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/Users/nedim/.rvm/rubies/ruby-2.6.0-rc1/bin/$(RUBY_BASE_NAME) --help --clean --use-system-libraries --enable-static --disable-static --with-zlib-dir --without-zlib-dir --with-zlib-include --without-zlib-include=${zlib-dir}/include --with-zlib-lib --without-zlib-lib=${zlib-dir}/lib --enable-cross-build --disable-cross-build /Users/nedim/.rvm/gems/ruby-2.6.0-rc1/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:402:in `block in execute': Failed to complete configure task (RuntimeError) from /Users/nedim/.rvm/gems/ruby-2.6.0-rc1/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:373:in `chdir' from /Users/nedim/.rvm/gems/ruby-2.6.0-rc1/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:373:in `execute' from /Users/nedim/.rvm/gems/ruby-2.6.0-rc1/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:110:in `configure' from /Users/nedim/.rvm/gems/ruby-2.6.0-rc1/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:153:in `cook' from extconf.rb:365:in `block (2 levels) in process_recipe' from extconf.rb:257:in `block in chdir_for_build' from extconf.rb:256:in `chdir' from extconf.rb:256:in `chdir_for_build' from extconf.rb:364:in `block in process_recipe' from extconf.rb:262:in `tap' from extconf.rb:262:in `process_recipe' from extconf.rb:551:in `
' To see why this extension failed to compile, please check the mkmf.log which can be found here: /Users/nedim/.rvm/gems/ruby-2.6.0-rc1/extensions/x86_64-darwin-18/2.6.0/nokogiri-1.8.5/mkmf.log extconf failed, exit code 1 Gem files will remain installed in /Users/nedim/.rvm/gems/ruby-2.6.0-rc1/gems/nokogiri-1.8.5 for inspection. Results logged to /Users/nedim/.rvm/gems/ruby-2.6.0-rc1/extensions/x86_64-darwin-18/2.6.0/nokogiri-1.8.5/gem_make.out nedims-MacBook-Pro:~ nedim$ ~~~ -- https://bugs.ruby-lang.org/ Unsubscribe: