Skip to content

Arrow-22.0.0-gfbf-2025b.eb pulls in system dependencies and downloads missing external packages #24929

@Thyre

Description

@Thyre

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    2025bissues & PRs related to 2025b common toolchainsbug report

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions