Skip to content

Instantly share code, notes, and snippets.

@chadh
Created September 2, 2022 12:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chadh/f93d79c32d4c704ee7df9d4a1a1c447f to your computer and use it in GitHub Desktop.
Save chadh/f93d79c32d4c704ee7df9d4a1a1c447f to your computer and use it in GitHub Desktop.
[.../mymodule/] $ docker run -it -v"${PWD}":/src --entrypoint= --rm puppet/pdk sh -c "cd /src; pdk validate"
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
pdk (INFO): Using Ruby 2.5.9
pdk (INFO): Using Puppet 6.27.0
pdk (INFO): Running all available validators...
[✖] Installing missing Gemfile dependencies.
pdk (FATAL): Fetching gem metadata from https://rubygems.org/.......
Using rake 13.0.6
Using CFPropertyList 2.3.6
Using public_suffix 4.0.7
Using ansi 1.5.0
Using ast 2.4.2
Using awesome_print 1.9.2
Using aws-eventstream 1.2.0
Using jmespath 1.6.1
Using bcrypt_pbkdf 1.1.0
Fetching aws-partitions 1.625.0
Using bindata 2.4.10
Using concurrent-ruby 1.1.10
Using ffi 1.15.5
Using optimist 3.0.1
Using jwt 2.2.3
Using little-plugger 1.1.4
Using multi_json 1.15.0
Using minitar 0.9
Using net-ssh 6.1.0
Using faraday-em_http 1.0.0
Using faraday-em_synchrony 1.0.0
Using faraday-excon 1.1.0
Using faraday-httpclient 1.0.1
Fetching multipart-post 2.2.3
Fetching highline 1.7.10
Installing multipart-post 2.2.3
Installing aws-partitions 1.625.0
Installing highline 1.7.10
Using faraday-net_http 1.0.1
Using faraday-net_http_persistent 1.2.0
Using faraday-patron 1.0.0
Using faraday-rack 1.0.0
Using faraday-retry 1.0.3
Using ruby2_keywords 0.0.5
Using connection_pool 2.2.5
Using deep_merge 1.2.2
Using hocon 1.3.1
Using thor 1.2.1
Using fast_gettext 1.1.2
Fetching hiera 3.10.0
Using httpclient 2.8.3
Using locale 2.1.3
Using semantic_puppet 1.0.4
Using rgen 0.9.0
Using webrick 1.7.0
Using molinillo 0.8.0
Using colored2 3.1.2
Using cri 2.15.11
Fetching erubi 1.11.0
Installing hiera 3.10.0
Installing erubi 1.11.0
Using forwardable 1.3.2
Using singleton 0.1.1
Using text 1.3.1
Using log4r 1.1.10
Using rubyntlm 0.6.3
Using windows_error 0.1.4
Using unicode-display_width 1.8.0
Using builder 3.2.4
Using rexml 3.2.5
Using nori 2.6.0
Using rubyzip 2.3.2
Using bundler 2.1.4
Using docile 1.4.0
Using simplecov-html 0.12.3
Using coderay 1.1.3
Using parallel 1.22.1
Using diff-lcs 1.5.0
Fetching excon 0.92.4
Installing excon 0.92.4
Fetching unf_ext 0.0.8.2
Using ed25519 1.3.0
Using jgrep 1.5.4
Using hirb 0.7.3
Using http-form_data 2.3.0
Using http-accept 1.7.0
Using json 2.1.0
Using metaclass 0.0.4
Using spdx-licenses 1.3.0
Using method_source 1.0.0
Using mime-types-data 3.2022.0105
Using net-telnet 0.1.1
Using netrc 0.11.0
Using pathspec 0.2.1
Using pluginator 1.5.0
Using rb-readline 0.5.5
Using table_print 1.5.7
Using strings-ansi 0.2.0
Using unicode_utils 1.4.0
Using tty-screen 0.8.1
Using puppet-lint 2.5.2
Using puppet-module-posix-default-r2.5 1.1.1
Using rspec-support 3.11.0
Using rainbow 2.2.2
Fetching regexp_parser 2.5.0
Installing regexp_parser 2.5.0
Installing unf_ext 0.0.8.2 with native extensions
Using ruby-progressbar 1.11.0
Using sfl 2.3
Using retryable 3.0.5
Using tty-cursor 0.7.1
Fetching ruby-hmac 0.4.0
Installing ruby-hmac 0.4.0
Fetching aws-sigv4 1.5.1
Installing aws-sigv4 1.5.1
Fetching parser 3.1.2.1
Fetching addressable 2.8.1
Installing addressable 2.8.1
Installing parser 3.1.2.1
Using gssapi 1.3.1
Using ffi-compiler 1.0.1
Using logging 2.3.1
Using net-scp 1.2.1
Fetching faraday-multipart 1.0.4
Using net-http-persistent 4.0.1
Fetching facter 4.2.11
Installing faraday-multipart 1.0.4
Installing facter 4.2.11
Using puppet-resource_api 1.8.14
Fetching yard 0.9.28
Installing yard 0.9.28
Fetching puppetfile-resolver 0.6.2
Installing puppetfile-resolver 0.6.2
Using prime 0.1.2
Using ruby_smb 1.1.0
Using terminal-table 3.0.2
Using gyoku 1.4.0
Using simplecov 0.18.5
Fetching parallel_tests 3.12.0
Installing parallel_tests 3.12.0
Using hiera-eyaml 3.3.0
Fetching pwdhash 0.3.4
Installing pwdhash 0.3.4
Using mime-types 3.4.1
Using mocha 1.1.0
Using pry 0.14.1
Using puppet-modulebuilder 0.3.0
Using strings 0.1.8
Using puppet-lint-absolute_classname-check 3.0.1
Using puppet-lint-anchor-check 1.0.1
Using puppet-lint-classes_and_types_beginning_with_digits-check 1.0.0
Using puppet-lint-file_ensure-check 1.0.0
Using puppet-lint-leading_zero-check 1.0.0
Using puppet-lint-legacy_facts-check 1.0.4
Using puppet-lint-lookup_in_parameter-check 1.0.0
Using puppet-lint-manifest_whitespace-check 0.1.17
Using puppet-lint-optional_default-check 1.0.0
Using puppet-lint-param-docs 1.7.5
Using puppet-lint-param-types 0.0.1
Using puppet-lint-params_empty_string-check 1.0.0
Using puppet-lint-resource_reference_syntax 1.1.0
Using puppet-lint-strict_indent-check 2.0.8
Using puppet-lint-top_scope_facts-check 1.0.1
Fetching puppet-lint-topscope-variable-check 1.1.0
Installing puppet-lint-topscope-variable-check 1.1.0
Using puppet-lint-trailing_comma-check 0.4.2
Using puppet-lint-unquoted_string-check 2.1.0
Using puppet-lint-variable_contains_upcase 1.2.0
Using puppet-lint-version_comparison-check 1.0.0
Using rspec-core 3.11.0
Using rspec-expectations 3.11.0
Using rspec-mocks 3.11.1
Using docker-api 2.2.0
Using tty-spinner 0.9.3
Fetching aws-sdk-core 3.139.0
Installing aws-sdk-core 3.139.0
Using net-ssh-krb 0.5.1
Using json-schema 3.0.0
Using llhttp-ffi 0.4.0
Using specinfra 2.82.2
Fetching faraday 1.10.2
Using rubocop-ast 1.17.0
Using gettext 3.4.3
Using winrm 2.3.6
Using codecov 0.6.0
Using simplecov-console 0.4.2
Using tty-pager 0.13.0
Using rspec 3.11.0
Using rspec_junit_formatter 0.5.1
Using rspec-its 1.3.0
Using voxpupuli-puppet-lint-plugins 3.0.0
Fetching aws-sdk-ec2 1.329.0
Installing faraday 1.10.2
Installing aws-sdk-ec2 1.329.0
Using metadata-json-lint 3.0.2
Using puppet-strings 2.9.0
Using gettext-setup 0.31
Using winrm-fs 1.3.5
Fetching rspec-puppet 2.12.0
Installing rspec-puppet 2.12.0
Using rubocop 1.6.1
Using serverspec 2.42.0
Fetching orchestrator_client 0.6.1
Installing orchestrator_client 0.6.1
Using faraday_middleware 1.2.0
Using rubocop-performance 1.9.1
Using rubocop-rspec 2.0.1
Using puppet_forge 3.2.0
Fetching r10k 3.15.1
Using dependency_checker 0.3.0
Installing r10k 3.15.1
Using puppet 6.27.0
Using puppet-syntax 3.2.1
Fetching facterdb 1.19.0
Fetching bolt 3.26.1
Using puppetlabs_spec_helper 3.0.0
Installing bolt 3.26.1
Installing facterdb 1.19.0
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this machine.
The dependency puppet-module-win-default-r2.5 (~> 1.0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mswin32, x86-mingw32, x64-mingw32. To add those platforms to the bundle, run `bundle lock --add-platform x86-mswin32 x86-mingw32 x64-mingw32`.
The dependency puppet-module-win-dev-r2.5 (~> 1.0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mswin32, x86-mingw32, x64-mingw32. To add those platforms to the bundle, run `bundle lock --add-platform x86-mswin32 x86-mingw32 x64-mingw32`.
The dependency puppet-module-win-system-r2.5 (~> 1.0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mswin32, x86-mingw32, x64-mingw32. To add those platforms to the bundle, run `bundle lock --add-platform x86-mswin32 x86-mingw32 x64-mingw32`.
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /root/.pdk/cache/ruby/2.5.0/gems/unf_ext-0.0.8.2/ext/unf_ext
/opt/puppetlabs/pdk/private/ruby/2.5.9/bin/ruby -I /opt/puppetlabs/pdk/private/ruby/2.5.9/lib/ruby/site_ruby/2.5.0 -r ./siteconf20220902-110-vegb6d.rb extconf.rb
checking for -lstdc++... *** 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/puppetlabs/pdk/private/ruby/2.5.9/bin/$(RUBY_BASE_NAME)
--with-static-libstdc++
--without-static-libstdc++
--with-stdc++lib
--without-stdc++lib
/opt/puppetlabs/pdk/private/ruby/2.5.9/lib/ruby/2.5.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /opt/puppetlabs/pdk/private/ruby/2.5.9/lib/ruby/2.5.0/mkmf.rb:541:in `try_link0'
from /opt/puppetlabs/pdk/private/ruby/2.5.9/lib/ruby/2.5.0/mkmf.rb:559:in `try_link'
from /opt/puppetlabs/pdk/private/ruby/2.5.9/lib/ruby/2.5.0/mkmf.rb:778:in `try_func'
from /opt/puppetlabs/pdk/private/ruby/2.5.9/lib/ruby/2.5.0/mkmf.rb:1005:in `block in have_library'
from /opt/puppetlabs/pdk/private/ruby/2.5.9/lib/ruby/2.5.0/mkmf.rb:948:in `block in checking_for'
from /opt/puppetlabs/pdk/private/ruby/2.5.9/lib/ruby/2.5.0/mkmf.rb:350:in `block (2 levels) in postpone'
from /opt/puppetlabs/pdk/private/ruby/2.5.9/lib/ruby/2.5.0/mkmf.rb:320:in `open'
from /opt/puppetlabs/pdk/private/ruby/2.5.9/lib/ruby/2.5.0/mkmf.rb:350:in `block in postpone'
from /opt/puppetlabs/pdk/private/ruby/2.5.9/lib/ruby/2.5.0/mkmf.rb:320:in `open'
from /opt/puppetlabs/pdk/private/ruby/2.5.9/lib/ruby/2.5.0/mkmf.rb:346:in `postpone'
from /opt/puppetlabs/pdk/private/ruby/2.5.9/lib/ruby/2.5.0/mkmf.rb:947:in `checking_for'
from /opt/puppetlabs/pdk/private/ruby/2.5.9/lib/ruby/2.5.0/mkmf.rb:1000:in `have_library'
from extconf.rb:6:in `<main>'
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/root/.pdk/cache/ruby/2.5.0/extensions/x86_64-linux/2.5.0/unf_ext-0.0.8.2/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /root/.pdk/cache/ruby/2.5.0/gems/unf_ext-0.0.8.2 for inspection.
Results logged to /root/.pdk/cache/ruby/2.5.0/extensions/x86_64-linux/2.5.0/unf_ext-0.0.8.2/gem_make.out
An error occurred while installing unf_ext (0.0.8.2), and Bundler cannot continue.
Make sure that `gem install unf_ext -v '0.0.8.2' --source 'https://rubygems.org/'` succeeds before bundling.
In Gemfile:
puppet-module-posix-system-r2.5 was resolved to 1.1.1, which depends on
puppet_litmus was resolved to 0.34.1, which depends on
rspec_honeycomb_formatter was resolved to 0.2.1, which depends on
honeycomb-beeline was resolved to 2.11.0, which depends on
libhoney was resolved to 2.2.0, which depends on
http was resolved to 5.0.4, which depends on
http-cookie was resolved to 1.0.5, which depends on
domain_name was resolved to 0.5.20190701, which depends on
unf was resolved to 0.1.4, which depends on
unf_ext
pdk (FATAL): Unable to install missing Gemfile dependencies.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment