apache / apache/arrow

[C++] Unable to install Arrow 17.0.0 with GCS enabled via conan 2.6.0

Open
#43,773 7 comments 0 reactions 0 assignees View on GitHub
Component: Packaging Type: bug
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the bug, including details regarding any error messages, version, and platform.

I am trying to install arrow 17 with conan 2.6.0 on Ubuntu22.04. My conanfile.py:
```
from conan import ConanFile

class ArrowTest(ConanFile):
name = "arrow test"
license = "MIT"
description = "Arrow test"
options = {"shared": [True, False]}
default_options = {
"shared": False,
"arrow/*:acero": True,
"arrow/*:compute": True,
"arrow/*:dataset_modules": True,
"arrow/*:parquet": True,
"arrow/*:with_boost": True,
"arrow/*:with_thrift": True,
"arrow/*:with_flight_rpc": True,
"arrow/*:filesystem_layer": True,
"arrow/*:with_protobuf": True,
"arrow/*:with_gflags": True,
"arrow/*:with_csv": True,
"arrow/*:with_gcs": True,
"arrow/*:with_re2": True,
"arrow/*:with_grpc": True,
}

generators = ["CMakeDeps", "CMakeToolchain"]
exports_sources = ["CMakeLists.txt", "src/*"]
settings = "build_type"
build_policy = "missing"

def requirements(self):
self.requires("arrow/17.0.0")
self.requires("grpc/1.54.3", override=True)
self.requires("google-cloud-cpp/2.12.0", override=True)
```

The overrides are needed, because google-cloud-cpp is requested by arrow in version 1.40.1 which is not supported by conan 2.

However at some point I am getting following error:

```
-- Providing CMake module for FindgRPCAlt as part of ArrowFlight CMake package
-- pkg-config package for grpc++ that is used by arrow-flight for static link isn't found
CMake Error at cmake_modules/ThirdpartyToolchain.cmake:310 (find_package):
By not providing "Findnlohmann_json.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"nlohmann_json", but CMake did not find one.

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

nlohmann_jsonConfig.cmake
nlohmann_json-config.cmake

Add the installation prefix of "nlohmann_json" to CMAKE_PREFIX_PATH or set
"nlohmann_json_DIR" to a directory containing one of the above files. If
"nlohmann_json" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
cmake_modules/ThirdpartyToolchain.cmake:4251 (resolve_dependency)
CMakeLists.txt:544 (include)

-- Configuring incomplete, errors occurred!

arrow/17.0.0: ERROR:
Package 'e67d4e73024d64e3e32a44a09882bca88d817bbf' build failed
arrow/17.0.0: WARN: Build folder /home/ppkowalski/.conan2/p/b/arrow3de7586871a98/b/build/Debug
ERROR: arrow/17.0.0: Error in build() method, line 414
cmake.configure(build_script_folder=os.path.join(self.source_folder, "cpp"))
ConanException: Error 1 while executing
```

I thought about installing nlohmann-json3-dev package using apt on the system (which I prefer not to, since I'd like to install everything with conan), then it goes further, however I am getting another error:

```
-- Providing CMake module for FindgRPCAlt as part of ArrowFlight CMake package
-- pkg-config package for grpc++ that is used by arrow-flight for static link isn't found
-- Found nlohmann_json: /usr/lib/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found version "3.10.5")
-- Found nlohmann_json headers: /usr/include;/usr/include
CMake Error at cmake_modules/ThirdpartyToolchain.cmake:310 (find_package):
By not providing "Findgoogle_cloud_cpp_storage.cmake" in CMAKE_MODULE_PATH
this project has asked CMake to find a package configuration file provided
by "google_cloud_cpp_storage", but CMake did not find one.

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

google_cloud_cpp_storageConfig.cmake
google_cloud_cpp_storage-config.cmake

Add the installation prefix of "google_cloud_cpp_storage" to
CMAKE_PREFIX_PATH or set "google_cloud_cpp_storage_DIR" to a directory
containing one of the above files. If "google_cloud_cpp_storage" provides
a separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
cmake_modules/ThirdpartyToolchain.cmake:4462 (resolve_dependency)
CMakeLists.txt:544 (include)

-- Configuring incomplete, errors occurred!

arrow/17.0.0: ERROR:
Package 'e67d4e73024d64e3e32a44a09882bca88d817bbf' build failed
arrow/17.0.0: WARN: Build folder /home/ppkowalski/.conan2/p/b/arrow191307691fc54/b/build/Debug
ERROR: arrow/17.0.0: Error in build() method, line 414
cmake.configure(build_script_folder=os.path.join(self.source_folder, "cpp"))
ConanException: Error 1 while executing
```

How can I proceed?

### Component(s)

Packaging

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.