Installed iceberg-config.cmake calls find_dependency(Avro) instead of avro-cpp
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 88/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- cmake, cpp
- Lĩnh vực
- build-system
Hướng nghiên cứu
Bắt đầu trong cmake_modules/IcebergThirdpartyToolchain.cmake tại resolve_avro_dependency(), sau đó kiểm tra iceberg_find_dependencies() trong cấu hình đã cài đặt. Tái hiện vấn đề với một dependency avro-cpp của hệ thống và một consumer gọi find_package(iceberg CONFIG REQUIRED). Hoàn tất khi cấu hình đã cài đặt yêu cầu avro-cpp và cấu hình thành công với package của hệ thống.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
When iceberg-cpp is built against a system Avro (avro-cpp found through FIND_PACKAGE_ARGS), the installed
iceberg-config.cmake can't be consumed: find_package(iceberg CONFIG) fails at find_dependency(Avro).
Cause
In resolve_avro_dependency() (cmake_modules/IcebergThirdpartyToolchain.cmake), the non-vendored branch does:
else()
set(AVRO_VENDORED FALSE)
list(APPEND ICEBERG_SYSTEM_DEPENDENCIES Avro)
endif()
However, the package that was actually found is avro-cpp. It is declared with fetchcontent_declare(avro-cpp ...
FIND_PACKAGE_ARGS ...), and its config exports the avro-cpp::avrocpp_* targets. Avro 1.12 installs
avro-cpp-config.cmake and no Avro package. So iceberg_find_dependencies() in the installed config calls
find_dependency(Avro), which can't be satisfied.
Reproduction
Seen with v0.4.0 (the code is unchanged on main) using vcpkg's avro-cpp 1.12.2 on x64-windows:
- Build and install iceberg-cpp with the bundle enabled against the system
avro-cpp. - In a consumer project, call
find_package(iceberg CONFIG REQUIRED). - Configuring fails because the
Avropackage can't be found.
Suggested fix
Record the real package name:
list(APPEND ICEBERG_SYSTEM_DEPENDENCIES avro-cpp)
The same one-line change is carried as a patch in the proposed vcpkg port; I'm happy to open a PR here as well.
- Ngôn ngữ chính
- C++
- Star
- 223
- Fork
- 127
- Merge trung bình
- 1 ngày 13 giờ
- Pull request đã merge (30 ngày)
- 28
Chuẩn bị môi trường
Chúng tôi chưa kiểm tra các tệp thiết lập môi trường của dự án này. Hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của apache/iceberg-cpp
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
apache/iceberg-cpp#959 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Release Apache Iceberg C++ 0.4.0Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
apache/iceberg-cpp#955 · 3 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
apache/iceberg-cpp#946 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
apache/iceberg-cpp#944 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 72/100
apache/iceberg-cpp#943 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của apache/iceberg-cpp
Issue tương tự
-
component: split-view platform: windows
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
zen-browser/desktop#15616 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area/ysql kind/bug priority/medium status/awaiting-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
yugabyte/yugabyte-db#34415 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
WayfireWM/wayfire#3148 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
backend:DirectX
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
llvm/llvm-project#227530 ·
Maintainer thường phản hồi trong vòng 1 ngày