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

cmake: add LDAP Find module #15273

Closed
wants to merge 23 commits into from
Closed

cmake: add LDAP Find module #15273

wants to merge 23 commits into from

Conversation

vszakats
Copy link
Member

@vszakats vszakats commented Oct 11, 2024

Move LDAP detection to its own Find module.

It supports pkg-config and the standard detection method used for
other 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

@github-actions github-actions bot added the build label Oct 11, 2024
@vszakats vszakats marked this pull request as draft October 11, 2024 22:23
@github-actions github-actions bot added the tests label Oct 12, 2024
@vszakats vszakats force-pushed the cm-find-ldap branch 2 times, most recently from 9cfcf35 to 1a09106 Compare October 12, 2024 22:02
@vszakats
Copy link
Member Author

The native cmake detection gets weird and detects LDAP in the Apple SDK. That provides an ldap.h and lber.h, which are stubs including themselves (using <ldap.h>). This causes an infinite inclusion loop when compiling.

For now I opted out APPLE from using the native cmake detection, but this requires to keep the old manual LDAP detection logic, while it would be reasonable goal to drop that.

@vszakats vszakats added the feature-window A merge of this requires an open feature window label Nov 5, 2024
@vszakats vszakats marked this pull request as ready for review November 5, 2024 21:11
@vszakats vszakats removed the tests label Nov 5, 2024
@vszakats
Copy link
Member Author

vszakats commented Nov 6, 2024

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:

ld: error: unable to find library -lldap

https://github.com/curl/curl/actions/runs/11695589111/job/32571261705#step:3:1014

https://github.com/curl/curl/actions/runs/11695455985/job/32570914117#step:3:149

@github-actions github-actions bot added the CI Continuous Integration label Nov 6, 2024
Comment on lines 51 to 54
list(APPEND LDAP_LIBRARIES ${LDAP_LBER_LIBRARIES})
list(REMOVE_DUPLICATES LDAP_LIBRARIES)
Copy link
Contributor

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.

Suggested change
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})

Copy link
Member Author

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.)

Copy link
Member Author

@vszakats vszakats Nov 6, 2024

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)

Copy link
Contributor

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.

vszakats added a commit that referenced this pull request Nov 14, 2024
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
vszakats added a commit that referenced this pull request Dec 14, 2024
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
@vszakats vszakats closed this in 49f2a23 Dec 16, 2024
@vszakats vszakats deleted the cm-find-ldap branch December 16, 2024 18:38
vszakats added a commit to vszakats/curl that referenced this pull request Dec 23, 2024
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
vszakats added a commit to vszakats/curl that referenced this pull request Dec 24, 2024
…` 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
vszakats added a commit that referenced this pull request Dec 24, 2024
…` 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
vszakats added a commit to vszakats/curl that referenced this pull request Jan 2, 2025
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
vszakats added a commit that referenced this pull request Jan 2, 2025
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build CI Continuous Integration cmake feature-window A merge of this requires an open feature window LDAP
Development

Successfully merging this pull request may close these issues.

2 participants