Skip to content

Fix/macos build and dep upgrade#1465

Open
xiaofan-luan wants to merge 2 commits intomainfrom
fix/macos-build-and-dep-upgrade
Open

Fix/macos build and dep upgrade#1465
xiaofan-luan wants to merge 2 commits intomainfrom
fix/macos-build-and-dep-upgrade

Conversation

@xiaofan-luan
Copy link

@xiaofan-luan xiaofan-luan commented Feb 13, 2026

Summary

issue: #1466

  • Upgrade all dependencies to match milvus-common dba70b6: fmt 11, glog 0.7.1, otel 1.23, protobuf 5.27, folly 2024, grpc 1.67.1, abseil 20250127, etc.
  • Replace jaeger exporter with otlp http/grpc, as jaeger exporter was removed in otel >= 1.14
  • Add macOS build support: OpenMP via Homebrew libomp, darwinssl for libcurl, SDK sysroot include path fix, conditional atomic/stdc++fs linking, and FOLLY_F14_FORCE_FALLBACK to avoid F14 SSE4.2 link mismatch
  • Add cross-platform Makefile with conan-install, build, test, clean, rebuild targets; auto-detects parallelism on both Linux and macOS

@sre-ci-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: xiaofan-luan
To complete the pull request process, please assign liliu-z after the PR has been reviewed.
You can assign the PR to them by writing /assign @liliu-z in a comment when ready.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@mergify
Copy link

mergify bot commented Feb 13, 2026

@xiaofan-luan 🔍 Important: PR Classification Needed!

For efficient project management and a seamless review process, it's essential to classify your PR correctly. Here's how:

  1. If you're fixing a bug, label it as kind/bug.
  2. For small tweaks (less than 20 lines without altering any functionality), please use kind/improvement.
  3. Significant changes that don't modify existing functionalities should be tagged as kind/enhancement.
  4. Adjusting APIs or changing functionality? Go with kind/feature.

For any PR outside the kind/improvement category, ensure you link to the associated issue using the format: “issue: #”.

Thanks for your efforts and contribution to the community!.

@xiaofan-luan xiaofan-luan force-pushed the fix/macos-build-and-dep-upgrade branch 2 times, most recently from a0fd5a9 to e8135c8 Compare February 13, 2026 08:29
@mergify mergify bot added dco-passed and removed needs-dco labels Feb 13, 2026
@xiaofan-luan xiaofan-luan force-pushed the fix/macos-build-and-dep-upgrade branch 3 times, most recently from a8b28ae to f076ba8 Compare February 13, 2026 08:50
@mergify mergify bot added needs-dco and removed dco-passed labels Feb 13, 2026
@xiaofan-luan xiaofan-luan force-pushed the fix/macos-build-and-dep-upgrade branch from 706a4a0 to 833d740 Compare February 13, 2026 10:16
@mergify mergify bot added dco-passed and removed needs-dco labels Feb 13, 2026
@xiaofan-luan xiaofan-luan force-pushed the fix/macos-build-and-dep-upgrade branch from 833d740 to d8d1c46 Compare February 13, 2026 10:19
@alexanderguzhva
Copy link
Collaborator

@xiaofan-luan there's a problem with folly, related to SSE4.2 support
also, I'll check the PR on various compilers & platforms (such as gcc-15 on ARM, or clang) once the CI passes

@xiaofan-luan xiaofan-luan force-pushed the fix/macos-build-and-dep-upgrade branch from d8d1c46 to 0258d6f Compare February 13, 2026 16:06
@xiaofan-luan
Copy link
Author

@xiaofan-luan there's a problem with folly, related to SSE4.2 support also, I'll check the PR on various compilers & platforms (such as gcc-15 on ARM, or clang) once the CI passes

yep, I will fix that. Still try with multiple different CI.
I passed on my local macOS15 arm/ macos14 intel and ubuntu 24.04

@xiaofan-luan xiaofan-luan force-pushed the fix/macos-build-and-dep-upgrade branch 4 times, most recently from 927b640 to 38e7a63 Compare February 16, 2026 08:18
@mergify mergify bot added needs-dco and removed dco-passed labels Feb 16, 2026
…with OTLP

- Upgrade Conan 1.61.0→1.65.0 and deps (fmt 9→11, glog 0.6→0.7,
  protobuf 3.21→5.27, opentelemetry-cpp 1.8→1.23, folly, grpc, etc.)
- Switch fmt from header-only to linked library
- Replace Jaeger exporter with OTLP gRPC/HTTP exporters in tracer
- macOS: conditional atomic linking, SDK sysroot include fix, OpenMP/libomp
- Add -fno-sized-deallocation for ASAN builds
- Update milvus-common to 017f2d2
- Add compiler.cppstd=17 and --build=liburing to CI conan commands
- Add GLOG_USE_GLOG_EXPORT define for Python binding

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: xiaofanluan <xiaofan.luan@zilliz.com>
- macOS libomp fallback now checks both /opt/homebrew (ARM) and
  /usr/local (Intel) paths instead of hardcoding ARM-only path
- Add OpenMP include path to OpenMP_C/CXX_FLAGS for proper scoping
- Convert gRPC endpoint to valid HTTP URL when falling back to
  HTTP exporter (add http:// scheme, replace port 4317→4318,
  append /v1/traces path)

Signed-off-by: Xiaofan Luan <xiaofan.luan@zilliz.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: xiaofanluan <xiaofan.luan@zilliz.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants