Skip to content

[C++] vcpkg arrow port ArrowDataset component usage #30221

@asfimport

Description

@asfimport

vcpkg arrow port (https://github.com/microsoft/vcpkg/tree/master/ports/arrow) installs not only arrow but also other arrow components such as ArrowDataset/ArrowFlight. After installation, I can use find_package(Arrow) in CMake/vcpkg to find the arrow package and use it. But I wonder how I can use other components such as ArrowDataset. I tried using it in CMake like below:

1) find_package(ArrowDataset REQUIRED)

CMake will report error like below:

– _find_package pkg_name=ArrowDataset args=REQUIRED
CMake Error at /Users/ss/dev/tools/vcpkg/scripts/buildsystems/vcpkg.cmake:789 (_find_package):
By not providing "FindArrowDataset.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"ArrowDataset", but CMake did not find one.

Could not find a package configuration file provided by "ArrowDataset" with
any of the following names:

ArrowDatasetConfig.cmake
arrowdataset-config.cmake

Add the installation prefix of "ArrowDataset" to CMAKE_PREFIX_PATH or set
"ArrowDataset_DIR" to a directory containing one of the above files.  If
"ArrowDataset" provides a separate development package or SDK, be sure it
has been installed.
 

  1. find_package(Arrow CONFIGS ArrowDatasetConfig.cmake REQUIRED)

The ArrowDatasetConfig.cmake can be found, however, it tries to find Parquet internally and still failed with error like below:

– _find_package pkg_name=Arrow args=CONFIGS;ArrowDatasetConfig.cmake;REQUIRED
– _find_package pkg_name=Arrow args=REQUIRED
– _find_package pkg_name=Threads args=REQUIRED
– _find_package pkg_name=Snappy args=REQUIRED
– _find_package pkg_name=PkgConfig args=QUIET
– _find_package pkg_name=Threads args=REQUIRED
– _find_package pkg_name=Thrift args=REQUIRED
– Found thrift: /Users/ss/dev/tools/vcpkg/installed/x64-osx
– _find_package pkg_name=Threads args=QUIET
– _find_package pkg_name=lz4 args=REQUIRED
– _find_package pkg_name=zstd args=REQUIRED
– _find_package pkg_name=re2Alt args=REQUIRED
– _find_package pkg_name=re2 args=
– _find_package pkg_name=BZip2 args=REQUIRED
– _find_package pkg_name=unofficial-utf8proc args=REQUIRED
– _find_package pkg_name=c-ares args=
– _find_package pkg_name=c-ares args=CONFIG
– _find_package pkg_name=absl args=CONFIG
– _find_package pkg_name=Threads args=
– _find_package pkg_name=upb args=CONFIG;REQUIRED
– _find_package pkg_name=Parquet args=REQUIRED
CMake Error at /Users/ss/dev/tools/vcpkg/scripts/buildsystems/vcpkg.cmake:789 (_find_package):
By not providing "FindParquet.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Parquet", but
CMake did not find one.

Could not find a package configuration file provided by "Parquet" with any
of the following names:

ParquetConfig.cmake
parquet-config.cmake

Add the installation prefix of "Parquet" to CMAKE_PREFIX_PATH or set
"Parquet_DIR" to a directory containing one of the above files.  If
"Parquet" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
/usr/local/Cellar/cmake/3.21.3_1/share/cmake/Modules/CMakeFindDependencyMacro.cmake:47 (find_package)
/Users/ss/dev/tools/vcpkg/installed/x64-osx/share/arrow/ArrowDatasetConfig.cmake:55 (find_dependency)
/Users/ss/dev/tools/vcpkg/scripts/buildsystems/vcpkg.cmake:789 (_find_package)
Is there any instruction describing how this could be done? Thanks.

Reporter: Yue Ni / @niyue

Related issues:

Note: This issue was originally created as ARROW-14681. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions