Use self.start_dir in LLVM easyblock#3770
Conversation
|
Umh if
All the sources are of the type
We could add a check to be more transparent about this behavior and not do the join in case of an abspath. |
It is and even checked for existence: https://github.com/easybuilders/easybuild-framework/blob/87b3d9d959b5f3ec739f3db4a350982b531c58fb/easybuild/framework/easyblock.py#L2299-L2338
Ah, the release sources yes. I was using a specific commit (required for Triton) where that extension is missing.
I'm fixing that in #3769 |
|
After some more work on the Bundle easyblock I don't see a way to fix it without breaking existing easyconfigs/easyblocks. But it still stands: BTW: I haven't found any easyconfigs using LLVM in components. Do you know any? |
|
Test report by @Flamefire |
ROCm-LLVM will, see: This order is required, due to the weird handling of dependencies by AMD. CC @bedroge |
|
I'm convinced that would still work: You use the (usual) workaround of manually setting So it will be set by the point it gets to the |
|
Test report by @Flamefire Overview of tested easyconfigs (in order)
Build succeeded for 3 out of 5 (5 easyconfigs in total) Failure in LLVM 20 caused by #3758 fixed in #3755 Failure in 18.1 is present before: #3741 (comment) |
|
Test report by @Flamefire Overview of tested easyconfigs (in order)
Build succeeded for 4 out of 5 (5 easyconfigs in total) |
|
Test report by @Flamefire Overview of tested easyconfigs (in order)
Build succeeded for 1 out of 1 (1 easyconfigs in total) |
|
Test report by @Flamefire Overview of tested easyconfigs (in order)
Build succeeded for 1 out of 1 (1 easyconfigs in total) |
|
For me I am fine with the |
That can be removed, at some point i also added it to being called inside easybuild-easyblocks/easybuild/easyblocks/l/llvm.py Lines 838 to 840 in f710d05 |
Fully agreed on the first point to not break anyone.
That wouldn't affect start_dir unless we put them before the the source of the llvm-project for which I can't see any reason. I added a property (which is read-only by default) for existing, derived easyblocks. Does that work for you?
That was what I thought. I'd even go further and use a property which initializes itself on access so we never end up reading |
I think that would be a good idea, but i would leave that for a separate PR The second part is in case we download extra packages outside of the llvm project, but I agree it is fine like this and in case we fixit in the future. Gonna do one final bot run and than merge this |
|
@boegelbot please test @ jsc-zen3 |
|
@Crivella: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... Details- notification for comment with ID 2996140671 processed Message to humans: this is just bookkeeping information for me, |
|
@boegelbot please test @ jsc-zen3 |
I opened a PR for that: #3793 |
|
@Crivella: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... Details- notification for comment with ID 2996187054 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @boegelbot Overview of tested easyconfigs (in order)
Build succeeded for 1 out of 1 (1 easyconfigs in total) |
|
@boegelbot please test @ jsc-zen3 |
|
@Crivella: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... Details- notification for comment with ID 2998368657 processed Message to humans: this is just bookkeeping information for me, |
You have a missing |
|
@Flamefire: I noticed your comment, but I only dance when @akesandgren or @bartoldeman or @bedroge or @boegel or @branfosj or @casparvl or @Crivella or @jfgrimm or @lexming or @Micket or @migueldiascosta or @ocaisa or @SebastianAchilles or @smoors or @verdurin or @WilleBell or @robert-mijakovic or @deniskristak or @ItIsI-Orient or @PetrKralCZ or @sassy-crick or @laraPPr or @pavelToman or @Louwrensth or @Thyre tells me (for now), I'm sorry... Details- notification for comment with ID 2999090403 processed Message to humans: this is just bookkeeping information for me, |
|
@boegelbot please test @ jsc-zen3 |
|
@Thyre: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... Details- notification for comment with ID 2999133091 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @boegelbot Overview of tested easyconfigs (in order)
Build succeeded for 1 out of 1 (1 easyconfigs in total) |
|
Going in, thanks @Flamefire! |
|
Thanks! #3793 updated after merge |
|
Test report by @Flamefire Overview of tested easyconfigs (in order)
Build succeeded for 2 out of 2 (2 easyconfigs in total) |
self.cfg['start_dir']gets initialized inguess_start_dirand hence is always set to an absolute path, so non-empty.Note that
path.join(anything, abs-path) == abs-pathSo
llvm_src_diris always equal toself.start_dirand we can remove this property.@Crivella am I missing anything?
I'm also wondering about the src extension in
llvm-project-%s.src. Haven't seen that in my tests anywhere and it likely didn't cause issues due to the above which means that code path wasn't used.