TLDR - Chef 11.8.0 --> chef-zero --> Puma forces build tools, looking for a
way to avoid that
Seemingly out of nowhere (between 08:40 and 17:20 pacific), our CI process
for testing cookbooks is no longer worker. The error I’m seeing is:
[2013-10-31T17:38:56-07:00] FATAL: Gem::Installer::ExtensionBuildError: chef_gem[minitest-chef-handler] (minitest-handler::default line 13) had an error: Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /opt/chef/embedded/bin/ruby extconf.rb creating Makefile 10.42.4.121 make compiling puma_http11.c make: gcc: Command not found make: *** [puma_http11.o] Error 127
My gem skillz are not top notch, but I believe after digging through debug
level logging is that in 11.6.x puma was a development requirement, but not
a runtime requirement, so it was never installed on our nodes
Now with 11.8.0, there is a dependency on chef-zero, which has a runtime
dependency on Puma, so now it is trying to install it.
Where I get confused is that I’m running 10.26.0, so its unclear to me how
that new dependency chain might affect me, but the timing is hard to ignore.
So my question is does that make sense, or am I way off base here? If it
does make sense what options do I have to not have to have build tools on
every box I want to install minitest-chef-handler?