Issue #19189 has been updated by nagachika (Tomoyuki Chikanaga).
Backport changed from 2.7: DONTNEED, 3.0: DONTNEED, 3.1: REQUIRED to 2.7: DONTNEED, 3.0:
DONTNEED, 3.1: DONE
ruby_3_1 0602df301cd76a3f1b444c4742b288bc6aed80ac merged revision(s)
613fca01486e47dee9364a2fd86b5f5e77fe23c8.
----------------------------------------
Bug #19189: Ruby 3.1.3/3.2.x can no longer find pkg-config if not present at buildtime
https://bugs.ruby-lang.org/issues/19189#change-101998
* Author: mistydemeo (Misty De Meo)
* Status: Closed
* Priority: Normal
* ruby -v: ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]
* Backport: 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONE
----------------------------------------
Starting with Ruby 3.1.3, mkmf.rb calls to `pkg-config` will fail if `pkg-config`
wasn't present on the system at the time it was built. Prior to that version, even if
Ruby itself wasn't configured with `pkg-config`, mkmf.rb would be able to correctly
pick it up from the `PATH`. This was introduced by
https://github.com/ruby/ruby/commit/7f1ca666424849134990d022266bcd4d6636465f and its Ruby
3.1.3 equivalent,
https://github.com/ruby/ruby/commit/3914581213e3aea138b02941b41e62c15461af27. I've
confirmed that reverting this specific change fixes the problem.
This broke a Ruby deployment which is built in a minimal Docker environment with no
`pkg-config`, but which is later copied into a system with `pkg-config` present.
--
https://bugs.ruby-lang.org/