Ensure transitive dependencies for headers and libraries are always available#5143
Ensure transitive dependencies for headers and libraries are always available#5143ocaisa wants to merge 9 commits intoeasybuilders:developfrom
Conversation
| # and only use the configured option | ||
| # (our RPATH wrappers rely on LIBRARY_PATH so we need an exception for that) | ||
| if env_var != 'LIBRARY_PATH': | ||
| self.variables.append(env_var, '') |
There was a problem hiding this comment.
This may seem quite aggressive, but it does seem to work in the cases I tried.
|
I think this is good enough for a review, it passes existing CI and also fixes #5143 |
| if env_var != 'LIBRARY_PATH': | ||
| self.variables.setdefault(env_var, append_empty=True) | ||
| for var in SEARCH_PATH[search_path_var][self.search_path[search_path_var]]: | ||
| self.variables.append_subdirs(var, '', subdirs=paths_list) |
There was a problem hiding this comment.
This looks odd, but the methods available here are limited. My subdirs are full paths relative to ''
|
Can't we just clear the relevant env variables at start of eb and then just load modules and "all will be fine"? |
|
Sure, but that is not what we say we support with the option |
|
When I worked on The default behaviour of EB (which has not changed in ages AFAIK):
Now, I have not yet looked in detail the code in this PR, but it is indeed probably the case that setting |
This addresses #5124 but is quite a major change even if just a bugfix. I believe that this was probably the original intention when introducing the related options.
Requires additional tests (and probably debating) so leaving as a draft PR for now.