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

Reply via email to