-
Notifications
You must be signed in to change notification settings - Fork 180
Streamline Rivet recipe #5947
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
base: master
Are you sure you want to change the base?
Streamline Rivet recipe #5947
Conversation
ktf
commented
Jul 10, 2025
- Remove unneeded (as of Rivet 4.0) patching of Rivet sources.
- Avoid reinventing the wheel for dependency tracking.
- Properly pass HDF5, CGAL and ... dependency
- Use alice-module-tools to generate the correct modulefile
|
@jackal1-66 can you please have a look? I am not 100% sure I got everything right but I think this (once verified) is more maintainable than the current solution. |
- Remove unneeded (as of Rivet 4.0) patching of Rivet sources. - Avoid reinventing the wheel for dependency tracking. - Properly pass HDF5, CGAL and ... dependency - Use alice-module-tools to generate the correct modulefile
|
Ciao Giulio, this is a big refactoring that was definitely needed. I need to take some time to test it properly. |
|
Ciao Giulio, the build goes well, however the environment doesn't seem to load because RIVET_ROOT is missing. I will debug this a bit further when I have a moment |
|
https://github.com/alisw/alidist/pull/5947/files#diff-7e6b5beab098b8c1b1d7a7a23aea706c876d346278a3ac2777991672a94b0de4R97 has it. Can you cut&paste the modulefile you get? |
The modulefile has RIVET_ROOT, however the issue is that RIVET_ROOT is not set entirely (missing P.s. feature request: would it be possible to have a |
|
I fixed the recipe. I do not like the idea of making it easy for people to add _ROOT. One of the critical features of aliBuild is to be able to use system tools. Introducing aliBuild / alidist specific variables / behaviors makes it more complicated to replace externals with their system conterpart. |
|
Ciao @ktf , I had tested it before, but wanted to be sure: All the instances of RIVET_ROOT need to be changed in the recipe, otherwise a similar error will appear... |
|
Commented in the code: there's a typo. |
|
Going forward with the debug, I'm getting: When running rivet-build. The content of the init.sh file is: Possibly related to the removal of rivet_3rdparty.sh? P.s. PGK_ROOT ==> PKG_ROOT typo reminder |
|
I have fixed the typo and adapted the loading of the 3rd party stuff. |
|
I tested the PR on a local machine and everything seems to work fine now. A lot of problems usually arise when running directly on GRID machines, so we might discover other bugs later. So far I would consider the recipe cleaning a success. CI issues seem to be unrelated to the PR. |
|
Unfortunately I retested everything again, but this time using a docker configuration. In this case there are problems that I'm quite sure will appear as well on lxplus/GRID. I get this when running a simple |
| # rivet-config and rivet-build | ||
| cat << EOF > source3rd | ||
| test -f \$prefix/etc/rivet_3rdparty.sh && source \$prefix/etc/rivet_3rdparty.sh | ||
| WORK_DIR=${WORK_DIR:-$INSTALLROOT/../../../} source $INSTALLROOT/etc/profile.d/init.sh |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| WORK_DIR=${WORK_DIR:-$INSTALLROOT/../../../} source $INSTALLROOT/etc/profile.d/init.sh | |
| WORK_DIR=$(dirname $(type rivet-build))/../../../../ source $(dirname $(type rivet-build))/../etc/profile.d/init.sh |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is one possibility. The other one is to simply consider all dependencies as runtime dependencies since using Rivet seems to imply building stuff at runtime, so the distinction does not really make sense for it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/home/mgiacalo/docker-alice/sw/ubuntu2404_x86-64/Rivet/rivet-4.1.0-local2/bin/rivet-build: line 133: /../etc/profile.d/init.sh: No such file or directory
This doesn't seem to work unfortunately
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's have a look later today