Describe the bug
CV-CUDA v0.17.0 ships cvcuda and nvcv_types in the same development package but exports them as separate CMake packages. The generated cvcuda-config.cmake references target nvcv_types without discovering it, so find_package(cvcuda ...) fails unless the consumer finds nvcv_types first.
Both generated package version files use SameMajorVersion. For a 0.x project, this allows a later minor release to satisfy an earlier 0.x request, despite v0.17 documenting C and C++ compatibility-breaking changes.
Steps/Code to reproduce bug
Install or stage the v0.17.0 development package, then configure this minimal project:
cmake_minimum_required(VERSION 3.20)
project(cvcuda_consumer LANGUAGES CXX)
find_package(cvcuda 0.17 CONFIG REQUIRED)
Configuration fails with:
The following imported targets are referenced, but are missing: nvcv_types
The following order succeeds, while the reverse order still fails:
find_package(nvcv_types 0.17 CONFIG REQUIRED)
find_package(cvcuda 0.17 CONFIG REQUIRED)
A version request for 0.16 also accepts the installed v0.17.0 package when both packages are found in that order.
Expected behavior
find_package(cvcuda ...) should discover its required nvcv_types package itself, for example through a package-config wrapper using find_dependency. Consumers should not need two calls in a specific order.
Different 0.x minor releases should not be treated as compatible when compatibility is not guaranteed. SameMinorVersion or an equivalent explicit policy would match the documented release behavior.
Environment overview (please complete the following information)
- Environment location: Bare-metal
- Method of cuDF install: Not applicable; CV-CUDA v0.17.0 configured from source
Environment details
Relevant output from cvcuda/print_env.sh:
CV-CUDA commit: 5ac8708bde57f8cf1c8d19443f6384875e86157c (v0.17.0)
OS: Ubuntu 24.04.4 LTS, aarch64
CMake: 3.28.3
CUDA toolkit: 13.0.88
The failure occurs while loading generated CMake package metadata, before compilation or linking.
Additional context
cvcuda exports CUDA::cudart_static;nvcv_types;-lrt as its public link interface.
- The v0.17 release notes explicitly require some existing C binaries to be rebuilt.
- Relevant sources:
Describe the bug
CV-CUDA v0.17.0 ships
cvcudaandnvcv_typesin the same development package but exports them as separate CMake packages. The generatedcvcuda-config.cmakereferences targetnvcv_typeswithout discovering it, sofind_package(cvcuda ...)fails unless the consumer findsnvcv_typesfirst.Both generated package version files use
SameMajorVersion. For a0.xproject, this allows a later minor release to satisfy an earlier0.xrequest, despite v0.17 documenting C and C++ compatibility-breaking changes.Steps/Code to reproduce bug
Install or stage the v0.17.0 development package, then configure this minimal project:
cmake -S . -B buildConfiguration fails with:
The following order succeeds, while the reverse order still fails:
A version request for
0.16also accepts the installed v0.17.0 package when both packages are found in that order.Expected behavior
find_package(cvcuda ...)should discover its requirednvcv_typespackage itself, for example through a package-config wrapper usingfind_dependency. Consumers should not need two calls in a specific order.Different
0.xminor releases should not be treated as compatible when compatibility is not guaranteed.SameMinorVersionor an equivalent explicit policy would match the documented release behavior.Environment overview (please complete the following information)
Environment details
Relevant output from
cvcuda/print_env.sh:The failure occurs while loading generated CMake package metadata, before compilation or linking.
Additional context
cvcudaexportsCUDA::cudart_static;nvcv_types;-lrtas its public link interface.