Skip to content

Conversation

bdice
Copy link
Contributor

@bdice bdice commented Jul 14, 2025

Currently nightly builds fail for cuDF because of the use of <format>. This requires GCC 13 or newer.

The devcontainers are getting the OS default version of GCC (because RAPIDS devcontainers don't specify a version). The OS is Ubuntu 22.04 which ships with GCC 11. Updating to Ubuntu 24.04 should solve this problem. Alternatively we can pin the GCC version, but I like being able to use system-default toolchains where possible.

@bdice bdice requested a review from a team as a code owner July 14, 2025 13:48
@bdice bdice requested review from jameslamb and removed request for a team July 14, 2025 13:48
@trxcllnt
Copy link
Collaborator

Will also need to update the devcontainer.json files here to remove the -ubuntu22.04 suffix from the tag. We publish the images without the OS in the name to simplify upgrades like this.

@bdice
Copy link
Contributor Author

bdice commented Jul 14, 2025

@trxcllnt Do you know what would cause this error? I'm not sure what to do.

https://github.com/rapidsai/devcontainers/actions/runs/16269759796/job/45934116367?pr=534#step:9:90

Error: Dev container build failed: Command failed: docker inspect --type image rapidsai/devcontainers:25.08-cpp-mambaforge-ubuntu24.04 (exit code: undefined)
An error occurred building the container.

@trxcllnt
Copy link
Collaborator

trxcllnt commented Jul 14, 2025

That tag doesn't exist yet.

Copy link
Collaborator

@trxcllnt trxcllnt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recommended changes

@trxcllnt
Copy link
Collaborator

Looks like there aren't any CUDA 12.0 Ubuntu24.04 apt repos, so probably gotta stick with 22.04 for those (if we still need them).

@bdice
Copy link
Contributor Author

bdice commented Jul 14, 2025

RAPIDS doesn't need to build with CUDA 12.0. We are okay with requiring 12.9+ to build.

@bdice
Copy link
Contributor Author

bdice commented Jul 15, 2025

There's an error coming up, probably from rapidsai/rmm#1980. I think this would point to an issue in CMake code somewhere, like missing target_link_libraries(rmm::rmm) but everything looks fine in ucxx to me. Weirdly, this error occurs when it tries to build libkvikio -- why does it try to import ucxx here? Not sure.

ImportError: /home/coder/ucxx/cpp/build/conda/cuda-12.9/release/libucxx.so: undefined symbol: _ZN3rmm13device_bufferD1Ev

@bdice
Copy link
Contributor Author

bdice commented Jul 15, 2025

It's installing librmm from conda for some reason. Need to figure out why and fix that.

@bdice
Copy link
Contributor Author

bdice commented Jul 15, 2025

The problem is coming from xgboost. xgboost depends on librmm, and the cuml development environment installs xgboost by default.

Do we need to make the devcontainers aware of xgboost, or add some special exclusion for librmm?

@trxcllnt
Copy link
Collaborator

conda doesn't let us exclude libraries installed by our dependencies. We either have to add xgboost as a library we build from source, or exclude xgboost from cuML's dependencies (ideally in cuml/dependencies.yaml).

@bdice
Copy link
Contributor Author

bdice commented Jul 15, 2025

Great. I filed a PR here with that change: rapidsai/cuml#7006

rapids-bot bot pushed a commit to rapidsai/cuml that referenced this pull request Jul 18, 2025
Unified conda devcontainers use the `all` file key to generate their dependency lists for each repository. Currently cuml includes `xgboost` in its `all` file key via the `test_python` dependency list. Unfortunately, this pulls in a conda dependency on `librmm` via `libxgboost`. This is problematic because we must build `librmm` from source in our unified devcontainers.

It seems like `xgboost` is a soft test dependency. In this PR, I add a new dependency file key called `devcontainers` that excludes `xgboost`. Developer conda environments, CI workflows, and pip devcontainers are unaffected by this change. Conda devcontainers will now require the user to manually install `xgboost` in order to run tests that need it, and this is noted in `BUILD.md`.

This is needed to solve the problems discussed in rapidsai/devcontainers#534 (comment).

Once this is merged, I will push a change to rapidsai/devcontainers#536 to use the new `devcontainers` file key.

Authors:
  - Bradley Dice (https://github.com/bdice)

Approvers:
  - Paul Taylor (https://github.com/trxcllnt)
  - James Lamb (https://github.com/jameslamb)
  - Simon Adorf (https://github.com/csadorf)

URL: #7006
@bdice bdice requested a review from trxcllnt July 18, 2025 20:04
@bdice
Copy link
Contributor Author

bdice commented Jul 21, 2025

@trxcllnt Can you re-review?

@bdice bdice merged commit 0fac138 into rapidsai:branch-25.08 Jul 21, 2025
287 of 292 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants