-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
curl links against system libldap if installed #17919
Comments
Oh, this might also explain some explicit osx linker flags in port GDAL... |
There is no fine-grain feature to toggle LDAP. However, for UWP, there is Basically, There is a default port feature "non-http" ("Enables protocols beyond HTTP/HTTPS/HTTP2") which the port maps to
HTTP_ONLY and protocols in curl: Last not least, just looking for |
Since the feature ldap has some problems upstream, we should disable this feature until the upstream fixes it. |
@JackBoosY Disabling LDAP (for different reasons, 14030 is about Windows) is one thing. Shall I open a separate issue for the other protocols/dependencies? |
@dg0yt Yes, please. |
The other issue seems more concerned with ldaps than pure ldap, and Windows rather than Linux. Is the proposed solution to disable all ldap on all platforms? I tried to build curl without the non-http feature but many packages depend on curl with default features eg aws-sdk-cpp. Perhaps that is also a bug? Or the default features are wrong? |
@hmoffatt We should only disable ldap on Windows, see curl/curl@835c263. |
My issue is on linux though. The curl port shouldn't end up linked to random other libraries outside of vcpkg which may or may not be installed? Maybe it would be best to add a libldap port and use that so it least it's under control. |
Is it a good idea for curl's default features to include non-http anyway? |
IMO it is okay to enable generaly protocols which are entirely implemented in curl (item 'a' in the list above). For the other options, there must be vcpkg dependencies (which can be part of explicit features). If there is no vcpkg port, the protocol must be disabled, or perhaps move to another explicit feature ("system-libraries" is what I proposed in a GDAL bug.) |
A problem with curl's |
Then asking here: I have a question: What is the status of this issue? I see that it is closed, but there are no associated commits or closing remarks. We have the same problem here where our Linux package of curl drags in the libldap by default. I can disable non-HTTP parts and solve this problem by choosing "vcpkg install curl[core,ssl]", however, we also use the cpr package for the actual interfacing with curl, and cpr depends on curl with the default arguments, so that "vcpkg install curl[core,ssl] cpr" again drags in curl with the "non-http" feature. Our current workaround is to clone the cpr port and depend on "curl[core,ssl]", but that is not a good state IMO. |
Screw the second paragraph. We also use an old state of vcpkg and while testing the old and the current state, I seem to have mixed things up. |
@ulfllorenz With #18971, curl should no longer request any LDAP dependencies except for WinLDAP (new non-default feature "winldap"). |
Host Environment
To Reproduce
Failure logs
The port builds OK, but now any application using curl also ends up linked against the system libldap and liblber. The system libraries are dynamic libraries and this happens even if curl is built as a static library (linux default), which makes it a mess to deploy.
The config like from curl is attached. config-x64-linux-rel-out.log
Additional context
The text was updated successfully, but these errors were encountered: