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

Closed
vapier opened this Issue Jun 6, 2016 · 3 comments

Comments

Projects
None yet
4 participants
@vapier
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:

Libs.private:
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

net-misc/curl: make static build more robust
See curl/curl#864

Package-Manager: portage-2.2.28
@bagder

This comment has been minimized.

Copy link
Member

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 ?

@ajdavis

This comment has been minimized.

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?

@jay

This comment has been minimized.

Copy link
Member

jay commented Mar 16, 2017

The issue is unresolved, it was closed as a known bug
https://curl.haxx.se/docs/knownbugs.html#Utilize_Requires_private_directi

@lock lock bot locked as resolved and limited conversation to collaborators May 6, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.