-
-
Notifications
You must be signed in to change notification settings - Fork 6.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
cmake: add LDAP Find module #15273
cmake: add LDAP Find module #15273
Conversation
9cfcf35
to
1a09106
Compare
The native cmake detection gets weird and detects LDAP in the Apple SDK. That provides an For now I opted out |
1a09106
to
a1c9e9f
Compare
After this patch, in CI, OpenLDAP is detected in the same jobs as before. Except on OpenBSD where it wasn't detected before, but it is after:
https://github.com/curl/curl/actions/runs/11695589111/job/32571261705#step:3:1014 |
09956cd
to
c45b02b
Compare
CMake/FindLDAP.cmake
Outdated
list(APPEND LDAP_LIBRARIES ${LDAP_LBER_LIBRARIES}) | ||
list(REMOVE_DUPLICATES LDAP_LIBRARIES) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Traditional" linkers rely on libary order. REMOVE_DUPLICATES
would remove the late duplicates (e.g. the last -lm
), and this breaks linking with "traditional" linkers which rely on lib order.
list(APPEND LDAP_LIBRARIES ${LDAP_LBER_LIBRARIES}) | |
list(REMOVE_DUPLICATES LDAP_LIBRARIES) | |
list(REMOVE_ITEM LDAP_LIBRARIES ${LDAP_LBER_LIBRARIES}) | |
list(APPEND LDAP_LIBRARIES ${LDAP_LBER_LIBRARIES}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note to self that this pattern is also used for mbedtls and brotli (pending PR).
And also for Libs.private in libcurl.pc.
I guess these can be dropped. Or come up with a function dropping the early dupes.
(There is also the "overlinking" issue when linking shared libs with these deps. Could't find a solution for that.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you think this'd work?:
list(REVERSE LDAP_LIBRARIES)
list(REMOVE_DUPLICATES LDAP_LIBRARIES)
list(REVERSE LDAP_LIBRARIES)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I used to use this pattern, too.
In general, I just leave the duplicates untouched today (and patch out REMOVE_DUPLICATES
). Different linkers may need different strategies (accoding to CMake). With Apple frameworks, you may accidentally remove -framework
.
The idea of linking dependencies found to `libcurl.pc` turns out not to work in practice in some cases. Specifically: gss, ldap, mbedtls, libmsh3, rustls A `.pc` may not work or be missing for a couple of reasons: - not all build methods generate it: mbedTLS, Rustls - generated file is broken: msh3 Ref: nibanks/msh3#225 - installed package flavour isn't shipping with one: FreeBSD GSS, OmniOS LDAP, macOS LDAP The effect of such issues shall be subtle in theory, because `libcurl.pc` normally lists these dependencies in the `Requires.private` section meant for static linking. But, e.g. `pkg-config --exists` requires these to be present, and builds sometimes use this check regardless of build type. This bug is not present in `pkgconf`; it only checks for them when `--static` is also passed. Fix these by adding affected `.pc` references to `libcurl.pc` only when we detected the dependency via `pkg-config`. There are a few side-effects of this solution: - references are never added for dependencies where curl doesn't implement `pkg-config` detection. These are: - autotools: ldap, mbedtls, msh3 - cmake: ldap (pending #15273) - generated `libcurl.pc` depends on the build-time environment. - generated `libcurl.pc` depends on curl build tool (cmake, autotools). - generated `libcurl.pc` depends on curl build implementation details. Make an exception for GNU GSS, where I blindly guess that `gss.pc` is always available, as no issues were reported. Other, not mentioned, dependencies continue to be added regardless of the detection method. Reported-by: Harmen Stoppels, Thomas, Daniel Engberg, Andy Fiddaman Fixes #15469 Fixes #15507 Fixes #15535 Fixes #15163 (comment) Closes #15573
Unlike mbedtls, ldap always sets lber as a dependency.
``` /Applications/Xcode_15.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang --target=aarch64-apple-darwin23.6.0 -DBUILDING_LIBCURL -DCURL_HIDDEN_SYMBOLS -DHAVE_CONFIG_H -Dlibcurl_shared_EXPORTS -I/Users/runner/work/curl/curl/include -I/Users/runner/work/curl/curl/bld/lib -I/Users/runner/work/curl/curl/lib -F/Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks -isystem /opt/homebrew/Cellar/libnghttp2/1.63.0/include -isystem /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers -isystem /opt/homebrew/Cellar/libpsl/0.21.5_2/include -isystem /opt/homebrew/include -isystem /opt/homebrew/Cellar/gsasl/2.2.1/include -isystem /opt/homebrew/opt/openssl@3/include -pedantic-errors -Werror=partial-availability -Werror-implicit-function-declaration -Wextra -Wall -pedantic -Wbad-function-cast -Wconversion -Winline -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-long-long -Wno-multichar -Wpointer-arith -Wshadow -Wsign-compare -Wundef -Wunused -Wwrite-strings -Waddress -Wattributes -Wcast-align -Wdeclaration-after-statement -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-security -Wignored-qualifiers -Wmissing-field-initializers -Wmissing-noreturn -Wno-format-nonliteral -Wno-system-headers -Wold-style-definition -Wredundant-decls -Wsign-conversion -Wno-error=sign-conversion -Wstrict-prototypes -Wtype-limits -Wunreachable-code -Wunused-parameter -Wvla -Wshift-sign-overflow -Wshorten-64-to-32 -Wlanguage-extension-token -Wformat=2 -Wdouble-promotion -Wenum-conversion -Wpragmas -Wunused-const-variable -Wunreachable-code-break -Wheader-guard -Wsometimes-uninitialized -Wcomma -Wmissing-variable-declarations -Wassign-enum -Wextra-semi-stmt -Wimplicit-fallthrough -I/opt/homebrew/Cellar/gsasl/2.2.1/include -Werror -isysroot /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk -mmacosx-version-min=10.9 -fPIC -fvisibility=hidden -MD -MT lib/CMakeFiles/libcurl_shared.dir/Unity/unity_0_c.c.o -MF lib/CMakeFiles/libcurl_shared.dir/Unity/unity_0_c.c.o.d -o lib/CMakeFiles/libcurl_shared.dir/Unity/unity_0_c.c.o -c /Users/runner/work/curl/curl/bld/lib/CMakeFiles/libcurl_shared.dir/Unity/unity_0_c.c In file included from /Users/runner/work/curl/curl/bld/lib/CMakeFiles/libcurl_shared.dir/Unity/unity_0_c.c:238: In file included from /Users/runner/work/curl/curl/lib/ldap.c:71: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: In file included from /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1: /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks/LDAP.framework/Headers/lber.h:1:10: error: #include nested too deeply ^ In file included from /Users/runner/work/curl/curl/bld/lib/CMakeFiles/libcurl_shared.dir/Unity/unity_0_c.c:238: /Users/runner/work/curl/curl/lib/ldap.c:311:3: error: use of undeclared identifier 'LDAP' LDAP *server = NULL; ^ /Users/runner/work/curl/curl/lib/ldap.c:311:9: error: use of undeclared identifier 'server' LDAP *server = NULL; ^ /Users/runner/work/curl/curl/lib/ldap.c:312:3: error: use of undeclared identifier 'LDAPURLDesc' LDAPURLDesc *ludp = NULL; ^ /Users/runner/work/curl/curl/lib/ldap.c:312:16: error: use of undeclared identifier 'ludp' LDAPURLDesc *ludp = NULL; ^ /Users/runner/work/curl/curl/lib/ldap.c:313:3: error: use of undeclared identifier 'LDAPMessage' LDAPMessage *ldapmsg = NULL; ^ /Users/runner/work/curl/curl/lib/ldap.c:313:16: error: use of undeclared identifier 'ldapmsg' LDAPMessage *ldapmsg = NULL; ^ /Users/runner/work/curl/curl/lib/ldap.c:314:3: error: use of undeclared identifier 'LDAPMessage' LDAPMessage *entryIterator; ^ /Users/runner/work/curl/curl/lib/ldap.c:314:16: error: use of undeclared identifier 'entryIterator' LDAPMessage *entryIterator; ^ /Users/runner/work/curl/curl/lib/ldap.c:317:20: error: use of undeclared identifier 'LDAP_VERSION3' int ldap_proto = LDAP_VERSION3; ^ /Users/runner/work/curl/curl/lib/ldap.c:334:9: error: use of undeclared identifier 'LDAP_VENDOR_NAME' LDAP_VENDOR_NAME, LDAP_VENDOR_VERSION); ^ /Users/runner/work/curl/curl/lib/ldap.c:334:27: error: use of undeclared identifier 'LDAP_VENDOR_VERSION' LDAP_VENDOR_NAME, LDAP_VENDOR_VERSION); ^ /Users/runner/work/curl/curl/lib/ldap.c:338:8: error: call to undeclared function 'ldap_url_parse'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] rc = ldap_url_parse(data->state.url, &ludp); ^ /Users/runner/work/curl/curl/lib/ldap.c:338:41: error: use of undeclared identifier 'ludp'; did you mean 'dup'? rc = ldap_url_parse(data->state.url, &ludp); ^~~~ dup /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/usr/include/unistd.h:439:6: note: 'dup' declared here int dup(int); ^ In file included from /Users/runner/work/curl/curl/bld/lib/CMakeFiles/libcurl_shared.dir/Unity/unity_0_c.c:238: /Users/runner/work/curl/curl/lib/ldap.c:343:37: error: call to undeclared function 'ldap_err2string'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] failf(data, "Bad LDAP URL: %s", ldap_err2string((curl_ldap_num_t)rc)); ^ /Users/runner/work/curl/curl/lib/ldap.c:343:37: error: format specifies type 'char *' but the argument has type 'int' [-Werror,-Wformat] failf(data, "Bad LDAP URL: %s", ldap_err2string((curl_ldap_num_t)rc)); ~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ %d /Users/runner/work/curl/curl/lib/ldap.c:373:3: error: call to undeclared function 'ldap_set_option'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] ldap_set_option(NULL, LDAP_OPT_PROTOCOL_VERSION, &ldap_proto); ^ /Users/runner/work/curl/curl/lib/ldap.c:373:3: note: did you mean 'SSL_set_options'? /opt/homebrew/opt/openssl@3/include/openssl/ssl.h:628:10: note: 'SSL_set_options' declared here uint64_t SSL_set_options(SSL *s, uint64_t op); ^ In file included from /Users/runner/work/curl/curl/bld/lib/CMakeFiles/libcurl_shared.dir/Unity/unity_0_c.c:238: /Users/runner/work/curl/curl/lib/ldap.c:373:25: error: use of undeclared identifier 'LDAP_OPT_PROTOCOL_VERSION' ldap_set_option(NULL, LDAP_OPT_PROTOCOL_VERSION, &ldap_proto); ^ /Users/runner/work/curl/curl/lib/ldap.c:509:5: error: use of undeclared identifier 'server' server = ldap_init(host, (curl_ldap_num_t)conn->primary.remote_port); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. ninja: build stopped: subcommand failed. Post job cleanup. [command]/opt/homebrew/bin/git version git version 2.46.2 Copying '/Users/runner/.gitconfig' to '/Users/runner/work/_temp/507b50f6-e62f-49bd-bdc1-9f8bf321b350/.gitconfig' Temporarily overriding HOME='/Users/runner/work/_temp/507b50f6-e62f-49bd-bdc1-9f8bf321b350' before making global git config changes Adding repository directory to the temporary git global config as a safe directory [command]/opt/homebrew/bin/git config --global --add safe.directory /Users/runner/work/curl/curl [command]/opt/homebrew/bin/git config --local --name-only --get-regexp core\.sshCommand [command]/opt/homebrew/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" [command]/opt/homebrew/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader http.https://github.com/.extraheader [command]/opt/homebrew/bin/git config --local --unset-all http.https://github.com/.extraheader [command]/opt/homebrew/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" Cleaning up orphan processes ``` https://github.com/curl/curl/actions/runs/11300118961/job/31432396093?pr=15273#step:10:21
It lacked header path detection (required a system path) and also lacked version detection because of this.
c0fe483
to
b2c3733
Compare
When de-duplicating the list of raw libs, make sure to drop duplicates from the beginning of the list. Reported-by: Kai Pastor Ref: #15273 (review) Closes #15495
list(APPEND ...) does this automatically, but we're prepending LDAP (to follow historical code and also autotools). list(PREPEND ...) would likely do that the same, but it requires CMake 3.15 so we do this manually and the manual method needs to skip the empty value manually. Follow-up to 49f2a23 curl#15273
…` module `list(APPEND ...)` does this automatically, but we're _prepending_ LDAP (to follow historical code and also autotools). `list(PREPEND ...)` would likely do that the same, but it requires CMake 3.15 so we do this manually and the manual method needs to skip the empty value manually. Follow-up to 49f2a23 curl#15273
…` module `list(APPEND ...)` does this automatically, but we're _prepending_ LDAP (to follow historical code and also autotools). `list(PREPEND ...)` would likely do that the same, but it requires CMake 3.15 so we do this manually and the manual method needs to skip the empty value manually. Follow-up to 49f2a23 #15273 Closes #15828
We already avoid system framework paths while looking for LDAP headers to avoid issues. Do the same while looking for LDAP libraries. This makes sure to find the regular ldap library (`libldap.tbd`) instead of picking up `ldap.framework` and let that seep into `libcurl.pc` with a full path. This restores how LDAP detection worked on Apple before introducing FindLDAP. Follow-up to 49f2a23 curl#15273
We already avoid system framework paths while looking for LDAP headers to avoid issues. Do the same while looking for LDAP libraries. This makes sure to find the regular ldap library (`libldap.tbd`) instead of picking up `ldap.framework` and let that seep into `libcurl.pc` with a full path. This makes LDAP detection work on Apple as before introducing FindLDAP. Follow-up to 49f2a23 #15273 Closes #15895
Move LDAP detection to its own Find module.
It supports
pkg-config
and the standard detection method used forother dependencies, with version detection.
In curl CI it fixes LDAP detection in the OpenBSD job.
w/o whitespace: https://github.com/curl/curl/pull/15273/files?w=1
libcurl.pc
unless found viapkg-config
#15573.