Describe the bug
When trying to run the pdk command, it fails no matter what subcommand/arg/none is given.
When running pdk, it fails with the following error:
$ apt list --installed | grep pdk
pdk/noble,now 3.4.0.1-1noble amd64 [installed]
$ pdk
/opt/puppetlabs/pdk/private/ruby/3.2.5/bin/ruby: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by /opt/puppetlabs/pdk/private/ruby/3.2.5/lib/libruby.so.3.2)
/opt/puppetlabs/pdk/private/ruby/3.2.5/bin/ruby: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /opt/puppetlabs/pdk/private/ruby/3.2.5/lib/libruby.so.3.2)
To Reproduce
This is from within a Docker container, and is a fresh install of pdk.
The Docker container is used within VS Code's Dev Containers to setup the container env.
The Dockerfile looks like below:
FROM ruby:3.2-bookworm
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
# Remove imagemagick due to https://security-tracker.debian.org/tracker/CVE-2019-10131
&& apt-get purge -y imagemagick imagemagick-6-common
# Install needed packages
RUN apt-get update \
&& apt-get -y install --no-install-recommends \
wget \
jq \
ruby-dev
# Make sure the puppet release package (repo) is installed.
# needed so we can install puppet's pdk
RUN echo "deb [trusted=yes] http://apt.puppet.com noble puppet8" > /etc/apt/sources.list.d/puppet8-release.list
# Make sure the openvox release package (repo) is installed.
# This is the opensource replacement of puppet-agent.
RUN wget https://s3.osuosl.org/openvox-apt/openvox8-release-debian12.deb \
&& dpkg -i openvox8-release-debian12.deb \
&& rm openvox8-release-debian12.deb \
&& apt-get update
# Make sure we have openvox agent and the development kit installed.
RUN apt-get update \
&& apt-get -y install --no-install-recommends \
openvox-agent \
pdk
# Install shellcheck
RUN scversion="stable" \
&& wget -qO- "https://github.com/koalaman/shellcheck/releases/download/${scversion?}/shellcheck-${scversion?}.linux.x86_64.tar.xz" | tar -xJv \
&& cp "shellcheck-${scversion}/shellcheck" /usr/bin/ \
&& shellcheck --version
The devcontainer.json looks like:
Expected behavior
The tool to be able to run as expected.
Additional context
- Your PDK installation method (native packages or via Rubygems)
- It's installed by adding the repo from apt.puppet.com/puppet8-release.deb
- Then doing an
apt update && apt install pdk
- Your PDK version (
pdk --version)
$ apt list --installed | grep pdk -> pdk/noble,now 3.4.0.1-1noble amd64 [installed]
- Your operating system / platform
- Debian12, Debian11 (using the ruby:3.2-* docker images).
Describe the bug
When trying to run the
pdkcommand, it fails no matter what subcommand/arg/none is given.When running
pdk, it fails with the following error:To Reproduce
This is from within a Docker container, and is a fresh install of pdk.
The Docker container is used within VS Code's Dev Containers to setup the container env.
The Dockerfile looks like below:
FROM ruby:3.2-bookworm ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update \ # Remove imagemagick due to https://security-tracker.debian.org/tracker/CVE-2019-10131 && apt-get purge -y imagemagick imagemagick-6-common # Install needed packages RUN apt-get update \ && apt-get -y install --no-install-recommends \ wget \ jq \ ruby-dev # Make sure the puppet release package (repo) is installed. # needed so we can install puppet's pdk RUN echo "deb [trusted=yes] http://apt.puppet.com noble puppet8" > /etc/apt/sources.list.d/puppet8-release.list # Make sure the openvox release package (repo) is installed. # This is the opensource replacement of puppet-agent. RUN wget https://s3.osuosl.org/openvox-apt/openvox8-release-debian12.deb \ && dpkg -i openvox8-release-debian12.deb \ && rm openvox8-release-debian12.deb \ && apt-get update # Make sure we have openvox agent and the development kit installed. RUN apt-get update \ && apt-get -y install --no-install-recommends \ openvox-agent \ pdk # Install shellcheck RUN scversion="stable" \ && wget -qO- "https://github.com/koalaman/shellcheck/releases/download/${scversion?}/shellcheck-${scversion?}.linux.x86_64.tar.xz" | tar -xJv \ && cp "shellcheck-${scversion}/shellcheck" /usr/bin/ \ && shellcheck --versionThe devcontainer.json looks like:
{ "name": "Puppet Module Container", "build": { "dockerfile": "./Dockerfile", "context": ".." }, "runArgs": [ // FQDN is set because it's used by the puppet-agent/openvox-agent // to check in the container into a dev puppet server // and provide a unique hostname for the puppet SSL Cert/Key. // (redacted) "--hostname", "${localWorkspaceFolderBasename}.${localEnv:USER}.devcontainer.example.com" ], "features": { "ghcr.io/devcontainers/features/common-utils:2": { "installZsh": "true", "username": "vscode", "userUid": "1000", "userGid": "1000", "upgradePackages": "true" }, "ghcr.io/devcontainers/features/ruby:1": "none", "ghcr.io/devcontainers/features/node:1": "none", "ghcr.io/devcontainers/features/git:1": { "version": "latest", "ppa": "false" } }, "customizations": { // Configure properties specific to VS Code. "vscode": { // Set *default* container specific settings.json values on container create. "settings": {}, "extensions": [ "gitlab.gitlab-workflow", "puppet.puppet-vscode", "ms-azuretools.vscode-docker", "davidanson.vscode-markdownlint", "yzhang.markdown-all-in-one", "timonwong.shellcheck", "Shopify.ruby-lsp" ] } }, "remoteUser": "vscode", // These scripts do other things that don't touch puppet/pdk, but setup other things/tools. "postCreateCommand": "sudo bash vagrant/prepare_dev_container.sh", "postStartCommand": "bash vagrant/vagrant_update.sh" }Expected behavior
The tool to be able to run as expected.
Additional context
apt update && apt install pdkpdk --version)$ apt list --installed | grep pdk -> pdk/noble,now 3.4.0.1-1noble amd64 [installed]