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 <nobu / b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
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 `<main>'

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: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>