Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Compile ERROR in docker : export called with target "cudf" which requires target "nanoarrow" that is not in any export set. #15434

Closed
NvTimLiu opened this issue Apr 2, 2024 · 4 comments · Fixed by #15437
Labels
bug Something isn't working CMake CMake build issue libcudf Affects libcudf (C++/CUDA) code.

Comments

@NvTimLiu
Copy link
Contributor

NvTimLiu commented Apr 2, 2024

Describe the bug
Compile cudf branch-24.06 in docker with script: https://github.com/rapidsai/cudf/blob/branch-24.06/java/ci/build-in-docker.sh

Related PR: #15047

Got below error:

12:50:56  -- CPM: Adding package nanoarrow@0.4.0 (c97720003ff863b81805bcdb9f7c91306ab6b6a8)
12:51:02  -- Building using CMake version: 3.26.4
12:51:02  -- Configuring done (167.8s)
12:51:03  CMake Error: install(EXPORT "cudf-exports" ...) includes target "cudf" which requires target "nanoarrow" that is not in any export set.
12:51:04  CMake Error in CMakeLists.txt:
12:51:04    export called with target "cudf" which requires target "nanoarrow" that is not in any export set.
12:51:04  
12:51:04  
12:51:04  -- Generating done (1.8s)
12:51:04  CMake Generate step failed.  Build files cannot be regenerated correctly.
12:51:04  [Pipeline] }
12:51:04  [Pipeline] // container
@jlowe
Copy link
Contributor

jlowe commented Apr 2, 2024

For reference, here's a cmake cmdline that reproduces it starting from cpp/build:

cmake .. -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=libcudfroot -DCUDA_STATIC_RUNTIME=ON -DCUDF_ENABLE_ARROW_S3=OFF -DCUDF_ENABLE_ARROW_PARQUET=ON -DCUDF_USE_ARROW_STATIC=ON -DCUDF_USE_PER_THREAD_DEFAULT_STREAM=ON -DLIBCUDF_LOGGING_LEVEL=OFF

@jlowe jlowe added libcudf Affects libcudf (C++/CUDA) code. CMake CMake build issue labels Apr 2, 2024
@zeroshade
Copy link
Contributor

@vyasr A CI should probably be added to build statically so that this is caught in the future?

I'm looking at the CMakeLists.txt file and my best guess is that rapids_cpm_find or rapids_export_package are missing something. When BUILD_SHARED_LIBS is off, nanoarrow is sent to rapids_export_package with cudf-exports, so I'm not sure why it's not being counted in the export set.

@bdice
Copy link
Contributor

bdice commented Apr 2, 2024

An issue for adding CI with static builds was recently opened: #15275

@vyasr
Copy link
Contributor

vyasr commented Apr 2, 2024

These are build issues that I fixed upstream in apache/arrow-nanoarrow#406 but I forgot to account for our static builds when I merged the PR without patching those issues in our clones. I'll make a PR to add static builds to CI (long overdue) and add the patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working CMake CMake build issue libcudf Affects libcudf (C++/CUDA) code.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants