gorloffslava opened a new issue, #44606: URL: https://github.com/apache/arrow/issues/44606
### Describe the bug, including details regarding any error messages, version, and platform. What causes the issue? 1. When absl is built from the master and not from the tagged release, it [doesn't define LTS_VERSION](https://github.com/abseil/abseil-cpp/blob/9ae4bb8007c925b1daf0aed1156e87b0ae1e27e1/absl/base/config.h#L94-L121). 2. Consequently, when CMake finds the non-LTS absl installation, the `absl_VERSION` variable is not set. 3. And when we check this variable [here](https://github.com/apache/arrow/blob/main/cpp/cmake_modules/ThirdpartyToolchain.cmake#L315), it expands to an empty string, which, in turn, leads to the cryptic error message: ``` CMake Error at cmake_modules/ThirdpartyToolchain.cmake:315 (if): if given arguments: "VERSION_LESS" "20211102" Unknown arguments specified Call Stack (most recent call first): cmake_modules/ThirdpartyToolchain.cmake:4166 (resolve_dependency) CMakeLists.txt:546 (include) ``` Why it's the regression? 1. Arrow v17.0.0 builds successfully against non-LTS absl. 2. The code that added the failing check was introduced in https://github.com/apache/arrow/commit/e65c1e295d82c7076df484089a63fa3ba2bd55d1 Temporary workaround: 1. By manually passing `-Dabsl_VERSION=<some lts version, like '20240722.0'>` bypasses the check. 2. However, this workaround is dirty. If one day will rely on this version for more granular check, it may break the things. Why it's important? 1. absl themselves encourage people to use cutting-edge version built from the latest commit, so it will cause problems for many Arrow consumers. ### Component(s) C++ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@arrow.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org