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

Reinstall glibc in playbook #87

Merged
merged 12 commits into from
Mar 4, 2021
Merged

Reinstall glibc in playbook #87

merged 12 commits into from
Mar 4, 2021

Conversation

bedroge
Copy link
Collaborator

@bedroge bedroge commented Mar 2, 2021

Fixes EESSI/gentoo-overlay#7.

I've added this as a separate step in install_packages.yml, as it requires noreplace: no, and I don't want to reinstall our entire set every time we (re)run this playbook. Also setting oneshot: yes to prevent glibc from being added to the world file.

We need another PR in https://github.com/EESSI/gentoo-overlay to remove glibc from the set.

@bedroge
Copy link
Collaborator Author

bedroge commented Mar 2, 2021

While making a PR in gentoo-overlay, I realized that we need to skip this step on macOS...

Done.

@bedroge
Copy link
Collaborator Author

bedroge commented Mar 2, 2021

Maybe it would also be nice if this step could check if it has already been run before.

@boegel
Copy link
Contributor

boegel commented Mar 2, 2021

@bedroge We should also add a check to make sure that the glibc installation we end up with actually picks up on /opt/eessi/lib?

@boegel
Copy link
Contributor

boegel commented Mar 2, 2021

@bedroge Tests fail with:

 /entrypoint.sh: line 12: /tmp/gentoo/usr/share/Lmod/init/profile: No such file or directory

@bedroge
Copy link
Collaborator Author

bedroge commented Mar 2, 2021

@bedroge We should also add a check to make sure that the glibc installation we end up with actually picks up on /opt/eessi/lib?

Yep, but I wanted to do that in some test script/suite that gets run by Ansible and/or a Github Action, see #42.

@bedroge Tests fail with:

 /entrypoint.sh: line 12: /tmp/gentoo/usr/share/Lmod/init/profile: No such file or directory

Hmm... I've seen that before on a local test: glibc fails to install, because of wrong settings in nsswitch.conf, which we pick up from the host (in this case: the docker container of the Github Action). So I guess we either need to patch the nsswitch.conf of this container, or run this step earlier (when the symlinks haven't been created yet).

@bedroge
Copy link
Collaborator Author

bedroge commented Mar 2, 2021

or run this step earlier (when the symlinks haven't been created yet).

Though that doesn't really work, since we also need to have our overlay added (which has the configuration files for the custom glibc installation)...

@bedroge
Copy link
Collaborator Author

bedroge commented Mar 3, 2021

Okay, I shuffled the steps a bit, so that this step get executed before the symlinks to the hosts are created. There's also a check now that does a grep for our defined dir on the libc library, so that this step only gets executed once.

I'm now passing the EXTRA_EMAKE="user-defined-trusted-dirs={{ prefix_user_defined_trusted_dir }} here in the playbook, since we need that location anyway to do the check. So we can probably remove the conf file added by the following PR:
EESSI/gentoo-overlay#8
Alternatively, we can keep that one and don't explicitly set EXTRA_EMAKE here, but then we still need to maintain the location of our directory /opt/eessi/lib in two places...

peterstol
peterstol previously approved these changes Mar 3, 2021
Copy link
Contributor

@peterstol peterstol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

checks passed :-( i was too fast

@bedroge
Copy link
Collaborator Author

bedroge commented Mar 3, 2021

@peterstol I was making some last/small improvements, but then the lint ci started complaining ;-)
It should be fine now.

Copy link
Contributor

@peterstol peterstol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2nd attempt...

@peterstol peterstol merged commit 4361390 into EESSI:main Mar 4, 2021
@bedroge bedroge deleted the fix_glibc branch March 4, 2021 11:20
poksumdo pushed a commit to poksumdo/compatibility-layer that referenced this pull request Jun 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pass user-defined-trusted-dirs to glibc
3 participants