vagrant-parallels: Cannot do fresh install of Vagrant 2.2.7 and vagrant-parallels on MacOS 10.15.2

To preface Vagrant 2.2.6 works just fine.

When I install Vagrant 2.2.7 and then run vagrant plugin install vagrant-parallels I get the following

Installing the 'vagrant-parallels' plugin. This can take a few minutes...
Fetching: mini_portile2-2.4.0.gem (100%)
Fetching: nokogiri-1.10.7.gem (100%)
Building native extensions.  This could take a while...
Vagrant failed to properly resolve required dependencies. These
errors can commonly be caused by misconfigured plugin installations
or transient network issues. The reported error is:

ERROR: Failed to build gem native extension.

    current directory: /Users/markmitchell/.vagrant.d/gems/2.4.9/gems/nokogiri-1.10.7/ext/nokogiri
/opt/vagrant/embedded/bin/ruby -r ./siteconf20200130-3346-738d4e.rb extconf.rb
checking if the C compiler accepts -arch i386 -arch x86_64 -I/opt/vagrant/embedded/include -I/opt/vagrant/embedded/include/libxml2 -I /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... *** 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=/opt/vagrant/embedded/bin/$(RUBY_BASE_NAME)
	--help
	--clean
/opt/vagrant/embedded/lib/ruby/2.4.0/mkmf.rb:457:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
	from /opt/vagrant/embedded/lib/ruby/2.4.0/mkmf.rb:572:in `block in try_compile'
	from /opt/vagrant/embedded/lib/ruby/2.4.0/mkmf.rb:523:in `with_werror'
	from /opt/vagrant/embedded/lib/ruby/2.4.0/mkmf.rb:572:in `try_compile'
	from extconf.rb:138:in `nokogiri_try_compile'
	from extconf.rb:162:in `block in add_cflags'
	from /opt/vagrant/embedded/lib/ruby/2.4.0/mkmf.rb:630:in `with_cflags'
	from extconf.rb:161:in `add_cflags'
	from extconf.rb:416:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /Users/markmitchell/.vagrant.d/gems/2.4.9/extensions/x86_64-darwin-19/2.4.0/nokogiri-1.10.7/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Users/markmitchell/.vagrant.d/gems/2.4.9/gems/nokogiri-1.10.7 for inspection.
Results logged to /Users/markmitchell/.vagrant.d/gems/2.4.9/extensions/x86_64-darwin-19/2.4.0/nokogiri-1.10.7/gem_make.out

The output of gem_make.out is as follows

"clang -o conftest -I/opt/vagrant/embedded/include/ruby-2.4.0/x86_64-darwin19 -I/opt/vagrant/embedded/include/ruby-2.4.0/ruby/backward -I/opt/vagrant/embedded/include/ruby-2.4.0 -I. -I/opt/vagrant/embedded/include -I/opt/vagrant/embedded/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   -I/opt/vagrant/embedded/include -fno-common -pipe -arch i386 -arch x86_64 -I/opt/vagrant/embedded/include -I/opt/vagrant/embedded/include/libxml2 -I /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2 conftest.c  -L. -L/opt/vagrant/embedded/lib -L/opt/vagrant/embedded/lib -L. -L/opt/vagrant/embedded/lib -fstack-protector -L/usr/local/lib -L/opt/vagrant/embedded/lib     -lruby.2.4.9  -lpthread -ldl -lobjc  "
In file included from conftest.c:1:
In file included from /opt/vagrant/embedded/include/ruby-2.4.0/ruby.h:33:
/opt/vagrant/embedded/include/ruby-2.4.0/ruby/ruby.h:102:37: error: 'ruby_check_sizeof_long' declared as an array with a negative size
typedef char ruby_check_sizeof_long[SIZEOF_LONG == sizeof(long) ? 1 : -1];
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/vagrant/embedded/include/ruby-2.4.0/x86_64-darwin19/ruby/config.h:58:21: note: expanded from macro 'SIZEOF_LONG'
#define SIZEOF_LONG 8
                    ^
In file included from conftest.c:1:
In file included from /opt/vagrant/embedded/include/ruby-2.4.0/ruby.h:33:
/opt/vagrant/embedded/include/ruby-2.4.0/ruby/ruby.h:106:38: error: 'ruby_check_sizeof_voidp' declared as an array with a negative size
typedef char ruby_check_sizeof_voidp[SIZEOF_VOIDP == sizeof(void*) ? 1 : -1];
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/vagrant/embedded/include/ruby-2.4.0/x86_64-darwin19/ruby/config.h:63:22: note: expanded from macro 'SIZEOF_VOIDP'
#define SIZEOF_VOIDP 8
                     ^
In file included from conftest.c:1:
In file included from /opt/vagrant/embedded/include/ruby-2.4.0/ruby.h:33:
/opt/vagrant/embedded/include/ruby-2.4.0/ruby/ruby.h:1615:5: error: __int128 is not supported on this target
    DSIZE_T c2 = (DSIZE_T)a * (DSIZE_T)b;
    ^
/opt/vagrant/embedded/include/ruby-2.4.0/ruby/ruby.h:1606:18: note: expanded from macro 'DSIZE_T'
# define DSIZE_T uint128_t
                 ^
/opt/vagrant/embedded/include/ruby-2.4.0/x86_64-darwin19/ruby/config.h:183:28: note: expanded from macro 'uint128_t'
#define uint128_t unsigned __int128
                           ^
In file included from conftest.c:1:
In file included from /opt/vagrant/embedded/include/ruby-2.4.0/ruby.h:33:
/opt/vagrant/embedded/include/ruby-2.4.0/ruby/ruby.h:1615:19: error: __int128 is not supported on this target
    DSIZE_T c2 = (DSIZE_T)a * (DSIZE_T)b;
                  ^
/opt/vagrant/embedded/include/ruby-2.4.0/ruby/ruby.h:1606:18: note: expanded from macro 'DSIZE_T'
# define DSIZE_T uint128_t
                 ^
/opt/vagrant/embedded/include/ruby-2.4.0/x86_64-darwin19/ruby/config.h:183:28: note: expanded from macro 'uint128_t'
#define uint128_t unsigned __int128
                           ^
In file included from conftest.c:1:
In file included from /opt/vagrant/embedded/include/ruby-2.4.0/ruby.h:33:
/opt/vagrant/embedded/include/ruby-2.4.0/ruby/ruby.h:1615:32: error: __int128 is not supported on this target
    DSIZE_T c2 = (DSIZE_T)a * (DSIZE_T)b;
                               ^
/opt/vagrant/embedded/include/ruby-2.4.0/ruby/ruby.h:1606:18: note: expanded from macro 'DSIZE_T'
# define DSIZE_T uint128_t
                 ^
/opt/vagrant/embedded/include/ruby-2.4.0/x86_64-darwin19/ruby/config.h:183:28: note: expanded from macro 'uint128_t'
#define uint128_t unsigned __int128
                           ^
In file included from conftest.c:1:
In file included from /opt/vagrant/embedded/include/ruby-2.4.0/ruby.h:33:
In file included from /opt/vagrant/embedded/include/ruby-2.4.0/ruby/ruby.h:2012:
In file included from /opt/vagrant/embedded/include/ruby-2.4.0/ruby/intern.h:35:
/opt/vagrant/embedded/include/ruby-2.4.0/ruby/st.h:58:45: error: 'st_check_for_sizeof_st_index_t' declared as an array with a negative size
typedef char st_check_for_sizeof_st_index_t[SIZEOF_VOIDP == (int)sizeof(st_index_t) ? 1 : -1];
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/vagrant/embedded/include/ruby-2.4.0/x86_64-darwin19/ruby/config.h:63:22: note: expanded from macro 'SIZEOF_VOIDP'
#define SIZEOF_VOIDP 8
                     ^
6 errors generated.
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 1
  • Comments: 29

Most upvoted comments

@adambreen Correct, that’s the issue of embedded Vagrant ruby, which is managed within this project: https://github.com/hashicorp/vagrant-installers We can’t do anything with that here, in vagrant-parallels.

Please refer to this issue and put your findings there: https://github.com/hashicorp/vagrant-installers/issues/163

@rloomans Yes, I mean that. Thank you!