Build fails with CMake 4.0 due to third-party dependencies
Hi,
I'm building apache-orc on amd64 with CMake 4.0 and currently the build is failing due to old versions of certain third-party dependencies. For example:
ninja: job failed: cd /home/build/build/zstd_ep-prefix/src/zstd_ep-build && /usr/bin/cmake -P /home/build/build/zstd_ep-prefix/src/zstd_ep-stamp/zstd_ep-configure-MinSizeRel.cmake && /usr/bin/cmake -E touch /home/build/build/zstd_ep-prefix/src/zstd_ep-stamp/zstd_ep-configure
CMake Error at /home/build/build/zstd_ep-prefix/src/zstd_ep-stamp/zstd_ep-configure-MinSizeRel.cmake:49 (message):
Command failed: 1
'/usr/bin/cmake' '-DCMAKE_INSTALL_PREFIX=/home/build/build/c++/libs/thirdparty/zstd_ep-install' '-DBUILD_SHARED_LIBS=OFF' '-DCMAKE_INSTALL_LIBDIR=lib' '-DCMAKE_POSITION_INDEPENDENT_CODE=ON' '-GNinja' '-S' '/home/build/build/zstd_ep-prefix/src/zstd_ep/build/cmake' '-B' '/home/build/build/zstd_ep-prefix/src/zstd_ep-build'
See also
/home/build/build/zstd_ep-prefix/src/zstd_ep-stamp/zstd_ep-configure-*.log
ninja: job failed: cd /home/build/build/protobuf_ep-prefix/src/protobuf_ep-build && /usr/bin/cmake -P /home/build/build/protobuf_ep-prefix/src/protobuf_ep-stamp/protobuf_ep-configure-MinSizeRel.cmake && /usr/bin/cmake -E touch /home/build/build/protobuf_ep-prefix/src/protobuf_ep-stamp/protobuf_ep-configure
CMake Error at /home/build/build/protobuf_ep-prefix/src/protobuf_ep-stamp/protobuf_ep-configure-MinSizeRel.cmake:49 (message):
Command failed: 1
'/usr/bin/cmake' '-DCMAKE_INSTALL_PREFIX=/home/build/build/c++/libs/thirdparty/protobuf_ep-install' '-DCMAKE_INSTALL_LIBDIR=lib' '-DBUILD_SHARED_LIBS=OFF' '-Dprotobuf_BUILD_TESTS=OFF' '-DCMAKE_POSITION_INDEPENDENT_CODE=ON' '-GNinja' '-S' '/home/build/build/protobuf_ep-prefix/src/protobuf_ep/cmake' '-B' '/home/build/build/protobuf_ep-prefix/src/protobuf_ep-build'
See also
/home/build/build/protobuf_ep-prefix/src/protobuf_ep-stamp/protobuf_ep-configure-*.log
These all show the same error:
$ cat /home/build/build/zstd_ep-prefix/src/zstd_ep-stamp/zstd_ep-configure-err.log
CMake Error at CMakeLists.txt:10 (cmake_minimum_required):
Compatibility with CMake < 3.5 has been removed from CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
Some of these dependencies have fixed their CMake files to support the new CMake version. For example:
https://github.com/lz4/lz4/commit/684ffb3f224a72528b8e50a7dce541317dce10ad https://github.com/google/snappy/commit/a688be4b77b954c403db805c8351ff62770f1044 https://github.com/protocolbuffers/protobuf/commit/21f535c978812ab2d9afcbe887fc2ad228c0d92e
And I see that your main branch already contains commits to update these deps:
https://github.com/apache/orc/blame/main/cmake_modules/ThirdpartyToolchain.cmake#L22
Would it be possible to cut a new release including fixes/upgrades for these?
Thanks.