[PDK-546] Unable to pdk validate existing IIS module on Windows Created: 2017/09/27  Updated: 2018/10/18  Resolved: 2018/10/18

Status: Resolved
Project: Puppet Development Kit
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Glenn Sarti Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 10
PDK 1.1.0
Puppetlabs-iis module


Issue Links:
Blocks
is blocked by BKR-1464 beaker-aws: update from aws-sdk-v1 to... Closed
Relates
relates to PDK-950 pdk test fails trying to compile nati... Closed
relates to PDK-951 Add windows-beaker incompatibility to... Closed
Template:
Epic Link: PDK Beaker Enablement
Method Found: Manual Test
QA Risk Assessment: Needs Assessment

 Description   

I tried to do a pdk validate on the puppetlabs-iis module on Windows 10 however I received the following issue;

...
Fetching fog-vmfusion 0.1.0
Installing fog-vmfusion 0.1.0
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
 
C:/PROGRA~1/PUPPET~1/DevelopmentKit/private/ruby/2.1.9/bin/ruby.exe -r
...
An error occurred while installing ruby-ll (2.1.2), and Bundler cannot continue.
Make sure that `gem install ruby-ll -v '2.1.2'` succeeds before bundling.
 
In Gemfile:
  puppet-module-win-system-r2.1 was resolved to 0.1.1, which depends on
    beaker-module_install_helper was resolved to 0.1.5, which depends on
      beaker was resolved to 3.25.0, which depends on
        beaker-puppet was resolved to 0.7.0, which depends on
          oga was resolved to 2.11, which depends on
            ruby-ll
...

This was using the puppetlabs-iis module (although not created FROM PDK) at master (23d2964832aac1f12b579f3eb3cad744ff1b7e04)



 Comments   
Comment by Glenn Sarti [ 2017/09/27 ]

Full log

C:\Source\puppetlabs-iis\iis [master ≡]> pdk validate
pdk (INFO): Running all available validators...
[X] Installing missing Gemfile dependencies.
pdk (FATAL): The dependency puppet-module-posix-default-r2.1 (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for x64-mingw32 but the dependency is only for ruby. To add those platforms to the bundle, run `bundle lock --add-platform ruby`.
The dependency puppet-module-posix-dev-r2.1 (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for x64-mingw32 but the dependency is only for ruby. To add those platforms to the bundle, run `bundle lock --add-platform ruby`.
The dependency puppet-module-posix-system-r2.1 (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for x64-mingw32 but the dependency is only for ruby. To add those platforms to the bundle, run `bundle lock --add-platform ruby`. Fetching gem metadata from https://rubygems.org/..........
Fetching version metadata from https://rubygems.org/..
Resolving dependencies...........
Using rake 12.1.0
Using mini_portile2 2.1.0
Using ffi 1.9.18 (x64-mingw32)
Using metaclass 0.0.4
Using parallel 1.12.0
Using coderay 1.1.2
Using method_source 0.9.0 (was 0.8.2)
Using fast_gettext 1.1.0
Using locale 2.1.2
Using text 1.3.1
Using hiera 3.4.1
Using minitar 0.6.1
Using unf_ext 0.0.7.4 (x64-mingw32)
Using mime-types 2.99.3
Using netrc 0.11.0
Using puppet-lint 2.3.2 (was 2.3.0)
Using puppet_facts 0.2.1
Using rspec-support 3.6.0
Using diff-lcs 1.3
Using rainbow 2.1.0
Using ast 2.3.0
Using powerpack 0.1.1
Using ruby-progressbar 1.9.0 (was 1.8.3)
Using unicode-display_width 1.3.0
Using net-ssh 4.2.0
Using net-telnet 0.1.1
Using sfl 2.3
Fetching json 1.8.6 (was 1.8.1)
Using stringify-hash 0.0.2
Using excon 0.59.0
Using public_suffix 3.0.0
Using multipart-post 2.0.0
Using jwt 1.5.6
Using little-plugger 1.1.4
Using multi_json 1.12.2
Using memoist 0.16.0
Using os 0.9.6
Using httpclient 2.8.3
Using hurley 0.2
Using declarative 0.0.10
Using declarative-option 0.1.0
Using uber 0.1.0
Using retriable 3.1.1
Using deep_merge 1.1.1
Using builder 3.2.3
Using formatador 0.2.5
Using ipaddress 0.8.3
Using xml-simple 1.1.5
Using inflecto 0.0.2
Using CFPropertyList 2.3.5
Using trollop 2.1.2
Using in-parallel 0.1.17
Using ansi 1.5.0
Using hocon 1.2.5
Using inifile 3.0.0
Using minitest 5.10.3
Using open_uri_redirections 0.2.1
Fetching byebug 9.0.6
Using rb-readline 0.5.5
Using rsync 1.0.9
Using thor 0.20.0
Installing json 1.8.6 (was 1.8.1) with native extensions
Using require_all 1.3.3
Using bundler 1.15.1
Using puppet-syntax 2.4.1
Using rototiller 1.0.1
Using nokogiri 1.7.2 (x64-mingw32)
Using win32-dir 0.4.9
Installing byebug 9.0.6 with native extensions
Using win32-eventlog 0.6.5
Using win32-process 0.7.5
Using win32-security 0.2.5
Using win32-service 0.8.8
Using facter 2.5.1 (x64-mingw32)
Using mocha 1.1.0
Using parallel_tests 2.16.0 (was 2.14.2)
Using pry 0.11.1 (was 0.10.4)
Using gettext 3.2.4
Fetching unf 0.1.4
Installing unf 0.1.4
Using rspec-core 3.6.0
Using rspec-expectations 3.6.0
Using rspec-mocks 3.6.0
Using parser 2.4.0.0
Using net-scp 1.2.1
Using beaker-hiera 0.1.1
Using beaker-vagrant 0.1.0
Using beaker-vmpooler 1.1.0
Using addressable 2.5.2
Using faraday 0.13.1
Using logging 2.2.2
Using representable 3.0.4
Using beaker-hostgenerator 1.1.1
Using fog-core 1.45.0
Using fission 0.5.0
Fetching ruby-ll 2.1.2
Installing ruby-ll 2.1.2 with native extensions
Fetching beaker-answers 0.17.0
Installing beaker-answers 0.17.0
Using puppet-module-win-default-r2.1 0.1.1
Using gettext-setup 0.28
Fetching domain_name 0.5.20170404
Installing domain_name 0.5.20170404
Using rspec_junit_formatter 0.3.0
Fetching rspec-its 1.2.0
Installing rspec-its 1.2.0
Using rspec 3.6.0
Using rubocop 0.49.1
Using specinfra 2.67.3
Fetching signet 0.7.3
Fetching fog-json 1.0.2
Installing fog-json 1.0.2
Installing signet 0.7.3
Fetching fog-xml 0.1.3
Installing fog-xml 0.1.3
Fetching fog-local 0.4.0
Installing fog-local 0.4.0
Fetching fog-vmfusion 0.1.0
Installing fog-vmfusion 0.1.0
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
 
C:/PROGRA~1/PUPPET~1/DevelopmentKit/private/ruby/2.1.9/bin/ruby.exe -r
./siteconf20170927-20980-isue85.rb extconf.rb
creating Makefile
 
make "DESTDIR=" clean
'make' is not recognized as an internal or external command,
operable program or batch file.
 
make "DESTDIR="
'make' is not recognized as an internal or external command,
operable program or batch file.
 
make failed, exit code 1
 
Gem files will remain installed in
C:/Users/glenn.sarti/AppData/Local/PDK/cache/ruby/2.1.0/gems/ruby-ll-2.1.2 for
inspection.
Results logged to
C:/Users/glenn.sarti/AppData/Local/PDK/cache/ruby/2.1.0/extensions/x64-mingw32/2.1.0/ruby-ll-2.1.2/gem_make.out
 
An error occurred while installing ruby-ll (2.1.2), and Bundler cannot continue.
Make sure that `gem install ruby-ll -v '2.1.2'` succeeds before bundling.
 
In Gemfile:
  puppet-module-win-system-r2.1 was resolved to 0.1.1, which depends on
    beaker-module_install_helper was resolved to 0.1.5, which depends on
      beaker was resolved to 3.25.0, which depends on
        beaker-puppet was resolved to 0.7.0, which depends on
          oga was resolved to 2.11, which depends on
            ruby-ll
 
 
pdk (FATAL): Unable to install missing Gemfile dependencies.

Comment by Jesse Scott [ 2018/07/03 ]

Glenn Sarti is this still an issue with PDK 1.6.0?

Comment by Bryan Jen [ 2018/10/18 ]

This should be fixed now that the beaker dependencies that require native compilation are packaged with PDK.

Generated at Sat Dec 07 20:58:15 PST 2019 using JIRA 7.7.1#77002-sha1:e75ca93d5574d9409c0630b81c894d9065296414.