You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "the80srobot (via GitHub)" <gi...@apache.org> on 2023/08/14 12:01:51 UTC

[GitHub] [arrow] the80srobot opened a new issue, #37146: [C++] Build with CMake fails at 13.0-rc2 and other recent version

the80srobot opened a new issue, #37146:
URL: https://github.com/apache/arrow/issues/37146

   ### Describe the bug, including details regarding any error messages, version, and platform.
   
   As of this morning, build of any recent version of Arrow c++ fails with CMake, because the linker tries to find xtl, a header-only library.
   
   ```
   /usr/bin/ld: cannot find -lxtl: No such file or directory
   collect2: error: ld returned 1 exit status
   gmake[2]: *** [src/arrow/CMakeFiles/arrow_shared.dir/build.make:426: release/libarrow.so.1300.0.0] Error 1
   gmake[1]: *** [CMakeFiles/Makefile2:1122: src/arrow/CMakeFiles/arrow_shared.dir/all] Error 2
   gmake: *** [Makefile:146: all] Error 2
   ```
   
   Here's simple repro steps:
   
   ```
   # Be on an up-to-date Debian 12.
   cd arrow/cpp
   mkdir build && cd build
   cmake -DCMAKE_BUILD_TYPE=Release ..
   cmake --build . --parallel `nproc`
   ```
   
   Error reproduces on every recent checkout I've tried, including release-13.0.0-rc2 (c604084e7).
   
   The only link.txt generated with the string `-lxtl` is for arrow_shared. It worked only a few hours ago, and now, the same exact version of arrow no longer builds.
   
   I am /guessing/ something in your supply chain is not properly vendored.
   
   At the risk of soap-boxing: this is why we should have hermetic builds.
   
   ### 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-unsubscribe@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] the80srobot commented on issue #37146: [C++] Build with CMake fails at 13.0-rc2 and other recent versions

Posted by "the80srobot (via GitHub)" <gi...@apache.org>.
the80srobot commented on issue #37146:
URL: https://github.com/apache/arrow/issues/37146#issuecomment-1677214635

   I forgot to mention, this is on aarch64.
   
   So I'm not sure why `-lxtl` would even be generated, because xtl is a header-only library. There is no explicit dependency on it, but I think it comes in via xsimd. The xsimd CMakeLists.txt used `find_package`:
   
   ```
   find_package(xtl 0.7.0 REQUIRED)
   target_link_libraries(xsimd INTERFACE xtl)
   ```
   
   So many questions:
   
   1. Why does CMake generate -lxtl for an INTERFACE dependency?
   2. Why, oh why isn't xtl just vendored under xsimd?
   3. Why did this just break a few hours ago?
   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] kou closed issue #37146: [C++] Build with CMake fails at 13.0-rc2 and other recent versions

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou closed issue #37146: [C++] Build with CMake fails at 13.0-rc2 and other recent versions
URL: https://github.com/apache/arrow/issues/37146


-- 
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-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] the80srobot commented on issue #37146: [C++] Build with CMake fails at 13.0-rc2 and other recent versions

Posted by "the80srobot (via GitHub)" <gi...@apache.org>.
the80srobot commented on issue #37146:
URL: https://github.com/apache/arrow/issues/37146#issuecomment-1677267264

   Well a workaround that works for me is to simply skip the SHARED build:
   
   -DARROW_BUILD_SHARED=OFF
   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] kou commented on issue #37146: [C++] Build with CMake fails at 13.0-rc2 and other recent versions

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou commented on issue #37146:
URL: https://github.com/apache/arrow/issues/37146#issuecomment-1678308414

   This is a problem of old xsimd: https://github.com/xtensor-stack/xsimd/pull/788
   Debian 12 doesn't ship enough newer xsimd for this problem: https://packages.debian.org/search?keywords=libxsimd-dev
   
   Another workaround: `-Dxsimd_SOURCE=BUNDLED`


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org