rapidsai / cudf

cuDF - GPU DataFrame Library
https://docs.rapids.ai/api/cudf/stable/
Apache License 2.0
8.24k stars 883 forks source link

[BUG] CUDF JNI build failed FindBoost #16678

Closed pxLi closed 1 week ago

pxLi commented 2 weeks ago

Describe the bug after #16640 , pre-merge passed because the CI would install boost as a dep explicitly

the cudf JNI nightly failed cudf_nightly-dev-github run: 1329

10:35:22       [exec] -- ARROW_ZSTD_BUILD_SHA256_CHECKSUM: 8c29e06cf42aacc1eafc4077ae2ec6c6fcb96a626157e0593d5e82a34fd403c1
10:35:22       [exec] -- Looking for _M_ARM64
10:35:22       [exec] -- Looking for _M_ARM64 - not found
10:35:22       [exec] -- Looking for __SIZEOF_INT128__
10:35:23       [exec] CMake Error at /usr/local/cmake-3.26.4-linux-x86_64/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
10:35:23       [exec]   Could NOT find Boost (missing: Boost_INCLUDE_DIR) (Required is at least
10:35:23       [exec]   version "1.58")
10:35:23       [exec] Call Stack (most recent call first):
10:35:23       [exec]   /usr/local/cmake-3.26.4-linux-x86_64/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
10:35:23       [exec]   /usr/local/cmake-3.26.4-linux-x86_64/share/cmake-3.26/Modules/FindBoost.cmake:2377 (find_package_handle_standard_args)
10:35:23       [exec]   /home/jenkins/agent/workspace/jenkins-cudf_nightly-dev-github-1329-cuda12/java/target/cmake-build/_deps/arrow-src/cpp/cmake_modules/ThirdpartyToolchain.cmake:310 (find_package)
10:35:23       [exec]   /home/jenkins/agent/workspace/jenkins-cudf_nightly-dev-github-1329-cuda12/java/target/cmake-build/_deps/arrow-src/cpp/cmake_modules/ThirdpartyToolchain.cmake:1288 (resolve_dependency)
10:35:23       [exec]   /home/jenkins/agent/workspace/jenkins-cudf_nightly-dev-github-1329-cuda12/java/target/cmake-build/_deps/arrow-src/cpp/CMakeLists.txt:543 (include)

Steps/Code to reproduce bug

scl enable gcc-toolset-11 "java/ci/build-in-docker.sh true"

Expected behavior Pass the compilation

Environment overview (please complete the following information)

Environment details Please run and paste the output of the cudf/print_env.sh script here, to gather any other relevant environment details

Additional context Add any other context about the problem here.

pxLi commented 2 weeks ago

unlike spark-rapids-jni, there is no boost dep in our cudf docker ENV currently https://github.com/rapidsai/cudf/blob/branch-24.10/java/ci/Dockerfile.rocky

cc @mythrocks to help check thanks

vyasr commented 2 weeks ago

Presumably the solution is to just add Boost to the JNI build container?

Alternatively, the choice to always use a system boost was added by @revans2 in https://github.com/rapidsai/cudf/pull/10702, so perhaps he can comment more on whether that's still the right choice. I preserved the behavior in #16640 but as a result I had to install boost into my environment to test. I'm not sure whether that's desirable or not.

pxLi commented 2 weeks ago

Presumably the solution is to just add Boost to the JNI build container?

Alternatively, the choice to always use a system boost was added by @revans2 in #10702, so perhaps he can comment more on whether that's still the right choice. I preserved the behavior in #16640 but as a result I had to install boost into my environment to test. I'm not sure whether that's desirable or not.

We have https://github.com/NVIDIA/spark-rapids-jni/blob/branch-24.10/ci/Dockerfile#L65-L72 in spark-rapids-jni, im still trying to understand whats the minimal required boost version for cudf if install independently thanks

also cc @revans2 for the context, thanks

jlowe commented 2 weeks ago

still trying to understand whats the minimal required boost version for cudf if install independently

The minimum is in the error message, needs Boost 1.58 or later. That's pretty old, so we probably can just install the boost package provided by the standard OS packages to meet this minspec.