-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Allow pkg-config to fallback to system libraries #13952
Conversation
Though I'm also thinking that maybe including |
Correct, we usually don't want the build to pick up packages from the system as it makes it harder to create reliable binaries ( |
Sounds good. I'll do that instead when I get home and throw a PR up. |
what do you mean by "including |
@tkelman I was thinking adding it the downloaded external dependencies, but looking at how I'll reopen this for further discussion |
If we don't want to let pkg-config pick up all system libraries, and don't want to download and build libcurl, perhaps we could add a whitelist to pull in certain .pc files we would want to pickup from the system |
We still need to do something about proxies here. I'd rather not build libcurl, I think allowing libgit2 to find it is worth the rare issues with fink or macport's iconv. |
It would also break |
No, you're wrong there, read Lines 2046 to 2054 in 003f415
make win-extras which certainly isn't building "all the other deps" from source - if we can use something, unpatched, that is always present or easy to get binaries for, I don't see a need to make our makefile complexity problem any worse.
Openssl is even more of a mess to be building from source due to all the security patches. I don't want to get into that. Once libgit2 0.24.0 is released I do plan on adding a source build of mbedtls for linux, but we still need libcurl for proxy support. |
Hi Guys, I was the OP on issue #14167. Any idea when this fix will be available to clone? if not, could I get some help implementing the workaround please? Cheers, Morgan |
This change is still a bit controversial, and a few other steps will be necessary to ensure linux binaries contain libcurl, and reduce the chances of bringing back #12514. For now you'll have to apply this patch locally. Try |
or just set (closing because #13472 already covers the issue) |
Unlike curl, libgit2's api is still changing and we have zero guarantees that distributions will have a version packaged that we can use. |
For example, using libcurl to access HTTP(S) was added in libgit 0.23.0 which still isn't packaged in CentOS/RHEL 6/7 |
Fixes #13472
Setting PKG_CONFIG_LIBDIR to only look at our libraries means that
libgit2
won't findlibcurl
. Due tolibgit2#2555
this means it will build without proxy support. By instead setting PKG_CONFIG_PATH we allow our libraries to take precedence, but don't disable inclusion of system libraries as a fallback.However I'm not on a Mac and can't check that this wouldn't reintroduce #12514, so if someone could check that that would be awesome :)