cudf icon indicating copy to clipboard operation
cudf copied to clipboard

[BUG] CUDF JNI build failed FindBoost

Open pxLi opened this issue 1 year ago • 1 comments

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 location: [Bare-metal, Docker, Cloud(specify cloud provider)]
  • Method of cuDF install: [conda, Docker, or from source]
    • If method of install is [Docker], provide docker pull & docker run commands used

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 avatar Aug 28 '24 02:08 pxLi

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

pxLi avatar Aug 28 '24 02:08 pxLi

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.

vyasr avatar Aug 28 '24 18:08 vyasr

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

pxLi avatar Aug 29 '24 02:08 pxLi

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.

jlowe avatar Aug 30 '24 14:08 jlowe