[C++] Unable to install Arrow 17.0.0 with GCS enabled via conan 2.6.0
- 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
Assessment
This issue has not been assessed yet.