Skip to content

fix: disable libsystemd in gRPC recipe by default#94

Closed
xiaofan-luan wants to merge 102 commits intomainfrom
fix/grpc-disable-libsystemd
Closed

fix: disable libsystemd in gRPC recipe by default#94
xiaofan-luan wants to merge 102 commits intomainfrom
fix/grpc-disable-libsystemd

Conversation

@xiaofan-luan
Copy link
Contributor

Summary

Disable with_libsystemd default in gRPC recipe (True → False).

Motivation

When OpenSSL is switched from static to dynamic linking in milvus (milvus-io/milvus#48293), conan package hashes change, triggering rebuilds of gRPC and opentelemetry-cpp. The gRPC rebuild fails because conan's cmakedeps generator cannot find libsystemd as a conan package in CI.

Milvus does not use gRPC's systemd integration, so disabling it is safe.

Impact

  • gRPC package no longer requires libsystemd conan package
  • All downstream packages (opentelemetry-cpp, knowhere, milvus-storage, milvus-common) work without changes

🤖 Generated with Claude Code

yellow-shine and others added 30 commits July 29, 2024 15:23
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Patrick Weizhi Xu <weizhi.xu@zilliz.com>
fix: patch grpc to fix infinite loop
* pinpoint shared-library version to 0.6

Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>

* disable cconcurrentbuild

Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>

* only keep 5 log

Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>

---------

Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Patrick Weizhi Xu <weizhi.xu@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: Patrick Weizhi Xu <weizhi.xu@zilliz.com>
Signed-off-by: Patrick Weizhi Xu <weizhi.xu@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: luzhang <luzhang@zilliz.com>
Co-authored-by: luzhang <luzhang@zilliz.com>
Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
Signed-off-by: sunby <sunbingyi1992@gmail.com>
FantasqueX and others added 28 commits February 12, 2026 16:51
Signed-off-by: Letu Ren <letur@nvidia.com>
Add version entries for aws-sdk-cpp 1.11.692 and all its transitive
aws-c-* dependencies needed for macOS 15 ARM64 support.

The key packages (aws-c-cal 0.9.8, aws-c-io 0.23.2) contain fixes for
deprecated Security framework APIs removed in macOS 15.

Packages added:
- aws-sdk-cpp 1.11.692 (+ 1.11.352)
- aws-c-common 0.12.5
- aws-c-cal 0.9.8
- aws-c-io 0.23.2
- aws-c-compression 0.3.1
- aws-c-http 0.10.5
- aws-c-auth 0.9.1
- aws-c-mqtt 0.13.3
- aws-c-s3 0.9.2
- aws-c-event-stream 0.5.7
- aws-c-sdkutils 0.2.4
- aws-checksums 0.2.6
- aws-crt-cpp 0.35.2

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat: add aws-sdk-cpp 1.11.692 for macOS 15 support
Allows passing extra conan options (e.g. -o, -c flags) when
triggering the workflow. Needed for packages like aws-sdk-cpp
where default options pull in system dependencies (xorg via
text-to-speech/pulseaudio) not available on the runner.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat: add extra_options input to build-and-push workflow
In aws-sdk-cpp >= 1.11.x, -Werror is conditionally added behind
AWS_SDK_WARNINGS_ARE_ERRORS instead of being hardcoded. This makes
the old replace_in_file pattern not match. Using strict=False
allows the patch to succeed for both old and new versions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix: make compiler_settings.cmake patch non-strict for aws-sdk-cpp
aws-sdk-cpp 1.11.692 requires newer aws-c-* libraries with CBOR
support (aws-crt-cpp 0.35.2 instead of 0.17.23). Add version-
specific dependency blocks so the correct transitive deps are used.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix: add version-specific deps for aws-sdk-cpp >= 1.11
aws-crt-cpp 0.35.2 requires newer aws-c-* libraries (aws-c-common
0.12.5, aws-c-cal 0.9.8, etc.) that are much newer than the
versions pinned for earlier releases. Add proper version-specific
dependency blocks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update requirements() in 10 aws-c-* recipes to support the newer
versions needed by aws-sdk-cpp 1.11.692:
- aws-c-cal/0.9.8, aws-c-io/0.23.2, aws-c-http/0.10.5
- aws-c-auth/0.9.1, aws-c-mqtt/0.13.3, aws-c-s3/0.9.2
- aws-c-event-stream/0.5.7, aws-c-sdkutils/0.2.4
- aws-checksums/0.2.6, aws-c-compression/0.3.1

Each recipe now has a new version branch at the top of its
requirements() method that pins the correct dependency versions
for the new release, while preserving all existing branches.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix: update all aws-c-* recipe deps for new versions
When building a package with --build=missing, transitive deps must
be resolvable. Add a step to export all recipes in the repo to the
local Conan cache so dependency packages can be built from source
when not found in remotes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat: export all local recipes before building
Newer aws-c-* libraries (v0.3+, v0.9+, etc.) need cmake utility
modules (AwsCFlags.cmake, AwsCheckHeaders.cmake, etc.) from
aws-c-common. These are installed to lib/cmake/aws-c-common/modules/
but only lib/cmake/ was in builddirs, so include(AwsCFlags) failed.

Adding the modules subdirectory to builddirs makes CMakeDeps add it
to CMAKE_MODULE_PATH for downstream consumers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix: expose aws-c-common cmake utility modules via builddirs
aws-c-io 0.23.2 requires s2n/unstable/cleanup.h which was added
in s2n v1.6.0. Add s2n 1.6.0 version entry and update aws-c-io
to use it for version >= 0.23.2.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix: add s2n/1.6.0 for aws-c-io 0.23.2 compatibility
In version 1.11.692, sdk_plugin_conf.cmake no longer exists.
Make the package step skip missing files gracefully instead of
failing with FileNotFoundError.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix: handle missing cmake files in aws-sdk-cpp package step
The test_package used custom cmake macros (add_project, setup_install,
do_packaging) from sdk_plugin_conf.cmake which doesn't exist in
version 1.11.692. Simplify to a basic core SDK init/shutdown test.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix: simplify aws-sdk-cpp test_package for 1.11.692
The set_property path (line 512) already checks os.path.exists before
registering sdk_plugin_conf.cmake, but the legacy cmake_find_package
generators (line 594-595) did not. This causes CMake include errors
when the file is absent from the package.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix: guard legacy build_modules for sdk_plugin_conf.cmake
Newer versions of aws-c-io (0.23.2+) use Apple's Network.framework
via nw_socket.c in aws-c-io. Without this linkage, shared library
builds on macOS fail with undefined symbols.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ework

fix: add Network framework for aws-c-io on macOS
Milvus overrides aws-sdk-cpp to 1.11.692, but Arrow was compiled against
1.11.352 API, causing missing symbols when linking. Bump the version so
Arrow is built against the same aws-sdk-cpp used at link time.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: xiaofanluan <xiaofan.luan@zilliz.com>
Milvus does not use gRPC's systemd integration. When libsystemd is
enabled, conan's cmakedeps generator fails to find the system library
during package rebuild, breaking CI builds for downstream packages
like opentelemetry-cpp.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: xiaofanluan <xiaofan.luan@zilliz.com>
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e10315009b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@@ -0,0 +1,121 @@
name: build and push
description: build a conan package and push it to artifactory

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove unsupported root description from workflow

GitHub Actions workflow syntax does not accept a top-level description field, so this key makes the workflow file invalid and prevents it from being parsed or manually dispatched. In practice, this blocks the whole automation before any job can start.

Useful? React with 👍 / 👎.

@@ -0,0 +1,69 @@
name: sync to artifactory
description: download package from conan center and upload it and dpendency to jfrog artifactory

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove unsupported root description from workflow

GitHub Actions workflow syntax does not accept a top-level description field, so this key makes the workflow file invalid and prevents it from being parsed or manually dispatched. In practice, this blocks the whole automation before any job can start.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.