Skip to content

Conversation

@Flamefire
Copy link
Contributor

@Flamefire Flamefire commented Jan 5, 2026

(created using eb --new-pr)

This software uses Rust/cargo which creates and uses $HOME/.cargo which we don't want. Set $CARGO_HOME to avoid this.

More general question: How do we want to handle Rust builds with build systems?

Here Meson uses /build/librsvg/2.60.0/GCCcore-13.3.0/librsvg-2.60.0/meson/cargo_wrapper.py --cargo $EBROOTRUST/bin/cargo which calls cargo

We already have easyblocks like CargoPythonPackage/Bundle which uses the standard pip install but with Cargo-specific preparations. Now we would need the same: Standard ninja build but with Cargo-specific preparations

Looks like we'd need to move that to framework and have a parameter for all easyconfigs to enable those preparations to avoid CargoMesonNinja and friends.

@github-actions github-actions bot added 2023a 2023b 2024a issues & PRs related to 2024a common toolchains 2025a issues & PRs related to 2025a common toolchains 2025b issues & PRs related to 2025b common toolchains change labels Jan 5, 2026
@Thyre
Copy link
Collaborator

Thyre commented Jan 5, 2026

More general question: How do we want to handle Rust builds with build systems?

I think going the Framework route is the most sensible option to be honest. Having lots of EasyBlocks just for each build combination of Cargo + X sounds like a nightmare to maintain. We've had a bit of a discussion back in #23907 (comment).
fish would need a CargoCMakeMake (?) EasyBlock for example.

@Thyre
Copy link
Collaborator

Thyre commented Jan 5, 2026

@boegelbot please test @ jsc-zen3
EB_ARGS="--installpath=/tmp/$USER/ecpr-24995"

@Thyre Thyre added bug fix and removed change labels Jan 5, 2026
@Thyre Thyre added this to the next release (5.2.1?) milestone Jan 5, 2026
@Flamefire
Copy link
Contributor Author

Test report by @Flamefire
SUCCESS
Build succeeded for 6 out of 6 (total: 18 mins 54 secs) (5 easyconfigs in total)
i7029 - Linux Rocky Linux 9.6, x86_64, AMD EPYC 7702 64-Core Processor (zen2), Python 3.9.21
See https://gist.github.com/Flamefire/a365f8fa4fb86f22843472bad815719d for a full test report.

@boegelbot
Copy link
Collaborator

@Thyre: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=24995 EB_ARGS="--installpath=/tmp/$USER/ecpr-24995" EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_24995 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 9319

Test results coming soon (I hope)...

Details

- notification for comment with ID 3709858368 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 5 out of 5 (total: 17 mins 42 secs) (5 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.7, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.23
See https://gist.github.com/boegelbot/c07dc8d002bdb6b9210a1d85b0343082 for a full test report.

@Flamefire
Copy link
Contributor Author

More general question: How do we want to handle Rust builds with build systems?

I think going the Framework route is the most sensible option to be honest. Having lots of EasyBlocks just for each build combination of Cargo + X sounds like a nightmare to maintain. We've had a bit of a discussion back in #23907 (comment). fish would need a CargoCMakeMake (?) EasyBlock for example.

@boegel Shall we put that on the agenda for the next confcall to discuss? Being that early in the release cycle doing that change sooner than later gives us time to shake out any issues

@Micket
Copy link
Contributor

Micket commented Jan 6, 2026

note i also made unrelated changes to latest librsvg in #24991

@Flamefire
Copy link
Contributor Author

Those shouldn't cause conflicts as it edits another place

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2023a 2023b 2024a issues & PRs related to 2024a common toolchains 2025a issues & PRs related to 2025a common toolchains 2025b issues & PRs related to 2025b common toolchains bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants