You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Delegate Linux curl/mbedTLS construction to the 1DS SDK instead of maintaining a duplicate ORT builder; retain the static-package curl export fix.
Use system SQLite and libz on Apple (with process-safe SQLite lifecycle), minimal private SQLite and vendored zlib on other non-Windows source builds, and avoid unnecessary vcpkg SQLite/zlib packages on Apple.
Preserve Apple static-package system-library and CMake dependency metadata.
Merge current main and keep cpp_client_telemetry v3.10.267.1. The SDK now includes the upstream curl, threading, CA-path, and logging fixes, so the old compatibility patch is removed.
Motivation and Context
Keep one owner for the Linux 1DS transport and avoid shipping an extra process-global SQLite copy on Apple. The dependency work from microsoft/cpp_client_telemetry#1536 is included in the pinned SDK release; this PR carries only the ORT integration that remains necessary.
Delegate self-contained Linux curl/mbedTLS construction to 1DS, use Apple system SQLite/libz with host-owned process lifecycle, and use minimal private SQLite on other non-Windows platforms. Preserve static-package dependency targets and the released-SDK compatibility patch.
Files changed:
- cmake/CMakeLists.txt
- cmake/deps.txt
- cmake/external/onnxruntime_external_deps.cmake
- cmake/external/telemetry_linux_http.cmake
- cmake/onnxruntime_common.cmake
- cmake/patches/cpp_client_telemetry/cpp_client_telemetry.patch
- cmake/vcpkg-ports/cpp-client-telemetry/vcpkg.json
- onnxruntime/core/platform/posix/telemetry.cc
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Restore curl CA-path sanitization in the 3.10.240.1 compatibility patch so Linux packages do not embed build-host trust paths.\n\nFiles changed: cmake/patches/cpp_client_telemetry/cpp_client_telemetry.patch
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2d3afa07-bc40-4851-bc49-ccf0a37e6da0
Strip curl's directory-scoped CURL::mbedtls helper from the exported static target and link the bundled mbedtls target instead. This preserves self-contained ORT static packages after delegating curl construction to the SDK. Files changed: cmake/external/onnxruntime_external_deps.cmake.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2d3afa07-bc40-4851-bc49-ccf0a37e6da0
Apple static framework omits zlib and SQLite system libraries
cmake/onnxruntime_common.cmake:324
These link flags cover normal CMake linkage, but not the assembled Apple static framework. That path stitches only archive contents (cmake/onnxruntime.cmake:515-535), while its CocoaPods system-library requirements come from APPLE_SYSTEM_LIBRARIES, which is still empty (cmake/onnxruntime.cmake:124-133; tools/ci_build/github/apple/c/c.podspec.template:23-33). Now that 1DS uses system SQLite/zlib, static framework consumers can be left with unresolved sqlite3_*/zlib symbols. Add z and sqlite3 to the framework metadata when telemetry is enabled.
These configuration macros are private to the mbedTLS libraries, so fetched libcurl compiles against mbedTLS headers without the same threading configuration. The deleted ORT builder applied the macros to libcurl_static too, and the SDK's upstream implementation propagates them publicly. Use PUBLIC here (or also define them on libcurl) so producer and consumer see a consistent mbedTLS configuration.
Resolve the SDK pin and dependency conflicts in cmake/deps.txt and cmake/external/onnxruntime_external_deps.cmake. Remove the obsolete cmake/patches/cpp_client_telemetry/cpp_client_telemetry.patch while retaining SDK-owned Linux curl and the Apple SQLite/zlib packaging policy in cmake/CMakeLists.txt, cmake/onnxruntime.cmake, cmake/onnxruntime_common.cmake, cmake/vcpkg-ports/cpp-client-telemetry/vcpkg.json, and onnxruntime/core/platform/posix/telemetry.cc.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4e6ddf54-85d1-4f61-b358-aa6b56895ddb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
mainand keep cpp_client_telemetry v3.10.267.1. The SDK now includes the upstream curl, threading, CA-path, and logging fixes, so the old compatibility patch is removed.Motivation and Context
Keep one owner for the Linux 1DS transport and avoid shipping an extra process-global SQLite copy on Apple. The dependency work from microsoft/cpp_client_telemetry#1536 is included in the pinned SDK release; this PR carries only the ORT integration that remains necessary.
Validation
lintrunner cmake/deps.txt cmake/external/onnxruntime_external_deps.cmake cmake/CMakeLists.txt cmake/onnxruntime.cmake cmake/onnxruntime_common.cmake cmake/vcpkg-ports/cpp-client-telemetry/vcpkg.json onnxruntime/core/platform/posix/telemetry.cc— passed on Windows.clang-format --dry-run --Werror onnxruntime/core/platform/posix/telemetry.cc— passed under WSL.git diff origin/main --check— passed on Windows.