Unable to install gem using chef-infra-client 17.6.18 (native compilation broken)

Installing a gem (e.g. via chefgem or gempackage) with chef-infra-client 17.6.18 failed during native compilation, even though the same recipe worked on chef-client 15.13.8 on the same machine. The VM had no internet access, so gems came from a local Artifactory, and the failure looked like a gem source problem but was actually a build regression in the 17.x omnibus packaging. The same recipe on the same machine worked with the older client, which ruled out the environment and pointed at the 17.x packaging.

This was a regression in the 17.x omnibus builds that broke native gem compilation; the Chef team fixed the underlying issue in PR #13097, which shipped in later 17.x and 18.0 releases. Upgrade chef-infra-client past 17.6.18. If you are blocked on 17.6.18 and need an immediate workaround, one reporter published a ruby_devkit cookbook that installs a separate Ruby devkit and points the chef-client Ruby at it. Source: https://github.com/chef/chef/issues/12149

Source: https://github.com/chef/chef/issues/12149