prevent GObject-Introspection from setting EB-filtered environment variables#646
Conversation
…rom being set if EB filters them
|
Instance
|
|
Instance
|
|
bot: build repo:eessi.io-2023.06-software arch:x86_64/amd/zen3 |
Updates by the bot instance
|
Updates by the bot instance
|
|
New job on instance
|
Co-authored-by: ocaisa <alan.ocais@cecam.org>
…re-layer into gobject_introspection_fix
|
bot: build repo:eessi.io-2023.06-software arch:x86_64/amd/zen3 |
Updates by the bot instance
|
Updates by the bot instance
|
|
New job on instance
|
|
bot: build repo:eessi.io-2023.06-software arch:aarch64/generic |
Updates by the bot instance
|
Updates by the bot instance
|
|
New job on instance
|
|
I've (temporarily) added Pango and GTK3 to the 2023b easystack (they were failing in #644), just to test if they can be built without issues. If they do, I'll remove them again. |
9d3e5a3 to
013e181
Compare
|
All the builds were successful, so I've reverted the commit that added Pango and GTK3. This is now ready for a final review, and I'll start builds for all targets. |
|
bot: build repo:eessi.io-2023.06-software arch:aarch64/generic |
Updates by the bot instance
|
Updates by the bot instance
|
|
New job on instance
|
|
New job on instance
|
|
New job on instance
|
|
New job on instance
|
|
New job on instance
|
|
New job on instance
|
|
New job on instance
|
|
New job on instance
|
|
Note that we shouldn't build for zen4 here, since it doesn't have all these versions (yet). It doesn't even have GCC 12.2.0 at all. I'll open a similar PR specifically for zen4. |
|
Staging PRs shouldn't be merged yet, I'll use a manual ingestion procedure to make sure that the old installations are removed first: |
|
Manual ingestion has been done, we can now safely merge (or close) the staging PRs. |
This should properly fix #196. Instead of fixing it in all the packages that use GObject-Introspection to compile stuff, it changes GObject-Introspection itself and makes sure that it doesn't set $LD_LIBRARY_PATH (or any other variable) when EB is configured to filter it.
I initially checked in the hook if EB was configured to filter $LD_LIBRARY_PATH and then used one of the following sed commands:
and
But in the end I went for another solution (which I found a bit cleaner, though the sed command is a bit longer/more complex), which is always applied by the hook, but changes the original line:
to
I.e. it will remove items from that list if they're also in $EASYBUILD_FILTER_ENV_VARS. Note that this may not always work outside of EESSI, e.g. someone could pass this list via a CLI argument instead of an environment variable. But for EESSI it should always work as we do use an environment variable.
I've tested this interactively and both GObject-Introspection itself installed without issues, but also the affected packages Pango, at-spi2-core, and GTK worked fine. I'll trigger some (re)builds here to verify this.