Skip to content

Commit

Permalink
Disable nghttp2 explicitly
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
joshcooper committed Apr 22, 2024
1 parent c7b0307 commit d596997
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions configs/components/curl.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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(" ")}' \
Expand Down

0 comments on commit d596997

Please sign in to comment.