mitchellh / vagrant-aws

Use Vagrant to manage your EC2 and VPC instances.
MIT License
2.61k stars 574 forks source link

ovirt-engine-sdk requires Ruby version >= 2.5 #567

Closed prsly closed 4 years ago

prsly commented 4 years ago

Hi,

I have a trouble with installing your plugin at Mac OS Catalina:

~ vagrant plugin install vagrant-aws    
Installing the 'vagrant-aws' plugin. This can take a few minutes...
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:

ovirt-engine-sdk requires Ruby version >= 2.5.
~ ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
prsly commented 4 years ago

and what happened after gem install vagrant-aws

Building native extensions. This could take a while...
ERROR:  Error installing vagrant-aws:
    ERROR: Failed to build gem native extension.

    current directory: /usr/local/lib/ruby/gems/2.7.0/gems/ovirt-engine-sdk-4.4.0/ext/ovirtsdk4c
/usr/local/opt/ruby/bin/ruby -I /usr/local/Cellar/ruby/2.7.1/lib/ruby/2.7.0 -r ./siteconf20200409-1650-r4yab0.rb extconf.rb
checking for xml2-config... yes
checking for curl-config... yes
creating Makefile

current directory: /usr/local/lib/ruby/gems/2.7.0/gems/ovirt-engine-sdk-4.4.0/ext/ovirtsdk4c
make "DESTDIR=" clean

current directory: /usr/local/lib/ruby/gems/2.7.0/gems/ovirt-engine-sdk-4.4.0/ext/ovirtsdk4c
make "DESTDIR="
compiling ov_error.c
compiling ov_http_client.c
ov_http_client.c:216:29: warning: excess elements in array initializer
        .reserved = { NULL, NULL }
                            ^~~~
/Library/Developer/CommandLineTools/usr/lib/clang/11.0.0/include/stddef.h:105:16: note: expanded from macro 'NULL'
#  define NULL ((void*)0)
               ^~~~~~~~~~
ov_http_client.c:392:33: warning: comparison of integers of different signs: 'long' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
        while (pointer - buffer < length && isspace(*pointer)) {
               ~~~~~~~~~~~~~~~~ ^ ~~~~~~
ov_http_client.c:651:18: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
    ptr->limit = connections;
               ~ ^~~~~~~~~~~
ov_http_client.c:845:71: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
    context_ptr->code = curl_multi_wait(context_ptr->handle, NULL, 0, timeout, NULL);
                        ~~~~~~~~~~~~~~~                               ^~~~~~~
ov_http_client.c:1001:47: warning: incompatible pointer types passing 'int (VALUE, VALUE, struct curl_slist **)' (aka 'int (unsigned long, unsigned long, struct curl_slist **)') to parameter of type 'int (*)(VALUE, VALUE, VALUE)' (aka 'int (*)(unsigned long, unsigned long, unsigned long)') [-Wincompatible-pointer-types]
        rb_hash_foreach(request_ptr->headers, ov_http_client_add_header, (VALUE) headers);
                                              ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/Cellar/ruby/2.7.1/include/ruby-2.7.0/ruby/intern.h:558:35: note: passing argument to parameter here
void rb_hash_foreach(VALUE, int (*)(VALUE, VALUE, VALUE), VALUE);
                                  ^
ov_http_client.c:1092:34: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
    if (RHASH_SIZE(ptr->pending) < ptr->limit) {
        ~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
ov_http_client.c:1118:71: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
        while (RARRAY_LEN(ptr->queue) > 0 && RHASH_SIZE(ptr->pending) < ptr->limit) {
                                             ~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
7 warnings generated.
compiling ov_http_request.c
ov_http_request.c:75:29: warning: excess elements in array initializer
        .reserved = { NULL, NULL }
                            ^~~~
/Library/Developer/CommandLineTools/usr/lib/clang/11.0.0/include/stddef.h:105:16: note: expanded from macro 'NULL'
#  define NULL ((void*)0)
               ^~~~~~~~~~
1 warning generated.
compiling ov_http_response.c
ov_http_response.c:54:29: warning: excess elements in array initializer
        .reserved = { NULL, NULL }
                            ^~~~
/Library/Developer/CommandLineTools/usr/lib/clang/11.0.0/include/stddef.h:105:16: note: expanded from macro 'NULL'
#  define NULL ((void*)0)
               ^~~~~~~~~~
1 warning generated.
compiling ov_http_transfer.c
ov_http_transfer.c:51:29: warning: excess elements in array initializer
        .reserved = { NULL, NULL }
                            ^~~~
/Library/Developer/CommandLineTools/usr/lib/clang/11.0.0/include/stddef.h:105:16: note: expanded from macro 'NULL'
#  define NULL ((void*)0)
               ^~~~~~~~~~
1 warning generated.
compiling ov_module.c
compiling ov_string.c
compiling ov_xml_reader.c
ov_xml_reader.c:24:10: fatal error: 'libxml/xmlreader.h' file not found
#include <libxml/xmlreader.h>
         ^~~~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [ov_xml_reader.o] Error 1

make failed, exit code 2

Gem files will remain installed in /usr/local/lib/ruby/gems/2.7.0/gems/ovirt-engine-sdk-4.4.0 for inspection.
Results logged to /usr/local/lib/ruby/gems/2.7.0/extensions/x86_64-darwin-19/2.7.0/ovirt-engine-sdk-4.4.0/gem_make.out
prsly commented 4 years ago

https://github.com/mitchellh/vagrant-aws/issues/539#issuecomment-471101727

That's is all

sourabh-agrawal commented 4 years ago

i fixed the issue with installing ovirt-engine-sdk version 4.3.0

vagrant plugin install --plugin-version 4.3.0 ovirt-engine-sdk
vagrant plugin install vagrant-aws
rchekaluk commented 4 years ago

When applying @sourabh-agrawal fix, I found that, although the plugins install, the following error occurs when using virtualbox:

$ vagrant up --provider=virtualbox
Vagrant failed to initialize at a very early stage:

The plugins failed to load properly. The error message given is
shown below.

cannot load such file -- ovirt/engine/sdk

However, https://github.com/mitchellh/vagrant-aws/issues/539#issuecomment-471101727 succeeds