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

Dependencies of first build are still loaded for all next builds with an easystack file #4194

Closed
bedroge opened this issue Jan 25, 2023 · 1 comment · Fixed by #4213
Closed
Labels
bug report easystack Issues and PRs related to easystack files
Milestone

Comments

@bedroge
Copy link
Contributor

bedroge commented Jan 25, 2023

I was installing a whole bunch of apps using an easystack file, and suddenly it crashed at the installation of zlib-1.2.12.eb because $EBROOTZLIB was already set. I hadn't done that myself (started with a clean environment), and after inspecting the log file, I noticed that for all installations after the very first one Easybuild was warning that a bunch of modules were loaded. This list consisted of the (build) dependencies of the first application that it installed.

I was able to reproduce it with a simple example, using this easystack file:

easyconfigs:
  - attr-2.5.1-GCCcore-11.2.0.eb
  - zlib-1.2.12.eb

Installing this with eb -f --experimental --easystack test.yml (note that the dependencies of attr are already available on my system) results in a successful installation of attr, but:

== FAILED: Installation ended unsuccessfully (build directory: 
/data/eb/build/zlib/1.2.12/system-system): build failed (first 300 chars): 
Module is already loaded (EBROOTZLIB is set), installation cannot continue. 
(took 0 secs)

The attr log has:

== 2023-01-25 12:45:58,939 easyblock.py:2248 WARNING Loaded modules detected: ['EasyBuild/4.7.0']

But the one for zlib has:

== 2023-01-25 12:46:04,854 easyblock.py:2248 WARNING Loaded modules detected: ['EasyBuild/4.7.0', 'GCCcore/11.2.0', 'zlib/1.2.11-GCCcore-11.2.0', 'binutils/2.37-GCCcore-11.2.0']

So it looks like it didn't unload the attr (build) dependencies. This is with EB 4.7.0, and based on some older logs of applications built with a similar easystack (but with the old structure) and EB 4.6.2, the latter version didn't have this issue.

@boegel boegel added the easystack Issues and PRs related to easystack files label Jan 25, 2023
@boegel boegel added this to the next release (4.7.1?) milestone Jan 25, 2023
@boegel
Copy link
Member

boegel commented Jan 25, 2023

That likely introduced with the changes in #4057, which includes a large refactor.
We're probably not properly resetting the build environment after completing an installation?

Thanks a lot for reporting this @bedroge, we'll look into catching this in a CI test, and fixing it - as it is now, easystack files aren't exactly production ready, that's clear...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug report easystack Issues and PRs related to easystack files
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants