Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

consider utilizing Requires.private directives in libcurl.pc instead of Libs.private #864

vapier opened this issue Jun 6, 2016 · 3 comments


Copy link

vapier commented Jun 6, 2016

the curl build system goes through a good amount of effort to try and figure out when some external libs need other external libs, often for static linking purposes. for example, it probes openssl and then tries to see if openssl also needs zlib and libdl. this doesn't always work (new libs get added and curl doesn't probe those, or the libs get rebuilt which means curl needs to be rebuilt simply to reprobe the library).

ideally the libcurl.pc file, instead of looking like:

Libs.private: -lnghttp2 -lssl -lcrypto -lssl -lcrypto -lz

it would look like:

Requires.private: libnghttp2 openssl zlib

now (1) the data will always be up-to-date regardless of how those other libs were configure/rebuilt/updated, and (2) curl wouldn't have to do all that probing.

NB: (1) can be done now and generally w/out pain, but (2) would mean that curl's build system itself would now rely on pkg-config being available/sane at build time. not sure if non-pkg-config builds is something curl cares about.

@bagder bagder added the build label Jun 7, 2016
gentoo-bot pushed a commit to gentoo/gentoo that referenced this issue Jun 8, 2016
Copy link

bagder commented Jun 9, 2016

Thanks! I think this suggestion makes perfect sense. Having our produced pkg-config file rely on the others also being pkg-config compatible seems reasonable. You up to making a PR for this change, @vapier ?

Copy link

ajdavis commented Mar 16, 2017

Hi, I'm investigating similar questions in my own C library, libmongoc. Can you tell me what changes resolved this issue in curl?

Copy link

jay commented Mar 16, 2017

The issue is unresolved, it was closed as a known bug

@lock lock bot locked as resolved and limited conversation to collaborators May 6, 2018
vszakats added a commit that referenced this issue Jun 13, 2024
- cmake: populate for dependencies.
- autotools: populate for dependencies.
  (including mbedtls, though the script does not detect
  mbedtls through pkgconfig. mbedtls 3.6.0 now supports it.)

Skip dealing with gssapi in this patch.

Fixes #864
Closes #13911
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Successfully merging a pull request may close this issue.

4 participants