-
Notifications
You must be signed in to change notification settings - Fork 777
Description
Arrow tries to find dependencies by default. If this does not work, it instead tries to build these dependencies from source.
We will miss builddependencies at that point, so builds might pull in some random system dependencies instead. On my system, this causes the build of orc to fail, since that tries to pull in the protobuf found in /usr, instead of the one by EasyBuild (see #24622 (comment)).
In file included from /data/EasyBuild-develop/build/Arrow/22.0.0/gfbf-2025b/easybuild_obj/_deps/orc-src/c++/src/io/InputStream.cc:19:
/data/EasyBuild-develop/build/Arrow/22.0.0/gfbf-2025b/easybuild_obj/_deps/orc-src/c++/src/io/InputStream.hh:75:31: error: ‘int64’ in namespace ‘google::protobuf’ does not name a type
75 | virtual google::protobuf::int64 ByteCount() const override;
| ^~~~~
/data/EasyBuild-develop/build/Arrow/22.0.0/gfbf-2025b/easybuild_obj/_deps/orc-src/c++/src/io/InputStream.cc:115:21: error: ‘int64’ in namespace ‘google::protobuf’ does not name a type
115 | google::protobuf::int64 SeekableArrayInputStream::ByteCount() const {
| ^~~~~
make[2]: *** [_deps/orc-build/c++/src/CMakeFiles/orc.dir/build.make:89: _deps/orc-build/c++/src/CMakeFiles/orc.dir/io/InputStream.cc.o] Error 1
Some pointers from the CMake run:
Trying to use git & ccache
-- Found Python3: /data/EasyBuild-develop/software/Python/3.13.5-GCCcore-14.3.0/bin/python (found version "3.13.5") found components: Interpreter
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
-- Using ccache: /usr/bin/ccache
-- System processor: x86_64
Not finding thrift, therefore building from source
This picks up a system cland-tidy
-- Checking for module 'thrift'
-- Package 'thrift' not found
-- Could NOT find ThriftAlt: (Required is at least version "0.11.0") (found ThriftAlt_LIB-NOTFOUND)
-- Thrift: Building from source
-- Thrift: Configuring arrow 0.22.0
[...]
-- Thrift: Found run-clang-tidy: /usr/bin/run-clang-tidy
Not finding xsimd, therefore building from source
CMake Warning at cmake_modules/ThirdpartyToolchain.cmake:291 (find_package):
By not providing "Findxsimd.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "xsimd", but
CMake did not find one.
Could not find a package configuration file provided by "xsimd" with any of
the following names:
xsimdConfig.cmake
xsimd-config.cmake
Add the installation prefix of "xsimd" to CMAKE_PREFIX_PATH or set
"xsimd_DIR" to a directory containing one of the above files. If "xsimd"
provides a separate development package or SDK, be sure it has been
installed.
Call Stack (most recent call first):
cmake_modules/ThirdpartyToolchain.cmake:2590 (resolve_dependency)
CMakeLists.txt:523 (include)
-- Building xsimd from source
Not finding lz4, therefore building from source
-- Checking for module 'liblz4'
-- Found liblz4, version 1.10.0
-- Could NOT find lz4Alt (missing: LZ4_LIB)
-- Building LZ4 from source using FetchContent
Not finding orc, therefore building from source
This (partially?) pulls in a system zstd and protobuf
-- Could NOT find orcAlt (missing: ORC_STATIC_LIB ORC_INCLUDE_DIR)
-- Apache ORC: Building Apache ORC from source
-- Apache ORC: Build type: Release
[...]
-- Apache ORC: ZSTD_HOME: /usr
-- Apache ORC: Found the zstd header: /usr/include/zstd.h
-- Apache ORC: Found the zstd library: zstd::libzstd_shared
-- Apache ORC: Found the zstd static library: /data/EasyBuild-develop/software/zstd/1.5.7-GCCcore-14.3.0/lib/libzstd.a
-- Apache ORC: Providing CMake module for FindZSTD as part of CMake package
-- Apache ORC: PROTOBUF_HOME: /usr
-- Apache ORC: Found the Protobuf headers: /usr/include
-- Apache ORC: Found the Protobuf library: protobuf::libprotobuf
-- Apache ORC: Found the Protoc library: protobuf::libprotoc
-- Apache ORC: Found the Protoc executable: protobuf::protoc
-- Apache ORC: Providing CMake module for FindProtobuf as part of CMake package
backtrace pulled in from system
-- Looking for backtrace
-- Looking for backtrace - found
-- backtrace facility detected in default set of libraries
-- Found Backtrace: /usr/include