From d596997dcbb5d13a5cad34a696758d3557f3104f Mon Sep 17 00:00:00 2001 From: Josh Cooper Date: Mon, 22 Apr 2024 10:58:51 -0700 Subject: [PATCH] Disable nghttp2 explicitly After commit 9a62dd5, curl 8 on AIX was adding a runtime dependency on libnghttp2 because the library happened to be present in /opt/freeware/lib: # ldd /opt/puppetlabs/puppet/bin/curl /opt/puppetlabs/puppet/bin/curl needs: /usr/lib/libc.a(shr.o) /usr/lib/libpthreads.a(shr_xpg5.o) /opt/puppetlabs/puppet/lib/libcurl.a(libcurl.so.4) /opt/puppetlabs/puppet/lib/libz.a(libz.so.1) Cannot find libnghttp2.a(libnghttp2.so.14) However, libnghttp2 is not a runtime component nor is it redistributed with the agent, so curl would fail to load: exec(): 0509-036 Cannot load program curl because of the following errors: 0509-150 Dependent module libnghttp2.a(libnghttp2.so.14) could not be loaded. 0509-022 Cannot load module libnghttp2.a(libnghttp2.so.14). 0509-026 System error: A file or directory in the path name does not exist. Since we don't enable nghttp2 on other platforms, explicitly disable it so we're not sensitive to build host differences. --- configs/components/curl.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/components/curl.rb b/configs/components/curl.rb index 57ef5b5e8..ca18e8bc6 100644 --- a/configs/components/curl.rb +++ b/configs/components/curl.rb @@ -77,6 +77,7 @@ --enable-threaded-resolver \ --disable-ldap \ --disable-ldaps \ + --disable-nghttp2 \ --with-ca-bundle=#{settings[:prefix]}/ssl/cert.pem \ --with-ca-path=#{settings[:prefix]}/ssl/certs \ CFLAGS='#{settings[:cflags]} #{extra_cflags.join(" ")}' \