Installed iceberg-config.cmake calls find_dependency(Avro) instead of avro-cpp
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- cmake, cpp
- Área
- build-system
Línea de trabajo
Comienza en cmake_modules/IcebergThirdpartyToolchain.cmake, en resolve_avro_dependency(), y después inspecciona iceberg_find_dependencies() en la configuración instalada. Reproduce el problema con una dependencia avro-cpp del sistema y un consumidor que llame a find_package(iceberg CONFIG REQUIRED). Se considera terminado cuando la configuración instalada solicita avro-cpp y se configura correctamente con el paquete del sistema.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- C++
- Estrellas
- 223
- Forks
- 127
- Merge medio
- 1 d 13 h
- PR fusionados (30 d)
- 28
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/iceberg-cpp
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
apache/iceberg-cpp#959 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Release Apache Iceberg C++ 0.4.0Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
apache/iceberg-cpp#955 · 3 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
apache/iceberg-cpp#946 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
apache/iceberg-cpp#944 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
apache/iceberg-cpp#943 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de apache/iceberg-cpp
Issues similares
-
component: split-view platform: windows
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
zen-browser/desktop#15616 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
area/ysql kind/bug priority/medium status/awaiting-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
yugabyte/yugabyte-db#34415 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
WayfireWM/wayfire#3148 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
backend:DirectX
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
llvm/llvm-project#227530 ·
Los mantenedores suelen responder en 1 día