[ 
https://issues.apache.org/jira/browse/ARROW-14681?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yue Ni updated ARROW-14681:
---------------------------
    Description: 
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:
{quote}– _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.
{quote}
 

2) `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.

  was:
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.

```

2) `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.


> [C++] vcpkg arrow port ArrowDataset component usage
> ---------------------------------------------------
>
>                 Key: ARROW-14681
>                 URL: https://issues.apache.org/jira/browse/ARROW-14681
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Yue Ni
>            Priority: Major
>
> 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:
> {quote}– _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.
> {quote}
>  
> 2) `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.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to