Skip to content

[C++] CMake's find_package(Parquet) does not find Parquet with Arrow 3.0.0 #27996

@asfimport

Description

@asfimport

Hello,

I just updated a small utility that converts binary data to Parquet from Arrow 0.15 to 3.0, and noticed that CMake could not resolve find_package(Parquet REQUIRED), as my installation tree of Arrow contained …/share/cmake/arrow/ParquetConfig.cmake, but CMake seems to be expecting …/share/cmake/*parquet*/ParquetConfig.cmake.

Creating a symbolic link from the arrow directory to a parquet directory solved CMake's find procedure. Alternatively, I ended up at this work-around that did not require me modifying my local install tree:

find_package(Arrow REQUIRED)
get_filename_component(MY_SEARCH_DIR ${Arrow_CONFIG} DIRECTORY)
find_package(Parquet REQUIRED HINTS ${MY_SEARCH_DIR})

Is this expected behavior? I went through the CMake code and found that there is only one installation directory for all CMake files: ARROW_CMAKE_INSTALL_DIR — I would expect this to be specific to the libraries exported.

Thanks,
Matthias

Environment: RHEL 7.6
Spack environment with CMake 3.15.7
Reporter: Matthias Wolf
Assignee: Kouhei Sutou / @kou

Related issues:

PRs and other links:

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions