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

fakeroot + host=ubuntu2204 + guest=ubuntu1804 => version GLIBC_nnn not found #865

Closed
d-a-v opened this issue Nov 9, 2022 · 1 comment
Closed

Comments

@d-a-v
Copy link

d-a-v commented Nov 9, 2022

Version of Apptainer

1.1.3+192-g3c5eb2a27

Expected behavior

Valid execution of apt update in %post section using fakeroot, ubuntu 22.04 on host, ubuntu 18.04 in def file

Actual behavior

INFO:    User not listed in /etc/subuid, trying root-mapped namespace
INFO:    The %post section will be run under fakeroot
INFO:    Starting build...
Getting image source signatures
Copying blob a404e5416296 skipped: already exists  
Copying config 9655459614 done  
Writing manifest to image destination
Storing signatures
2022/11/09 11:41:39  info unpack layer: sha256:a404e54162968593b8d92b571f3cdd673e4c9eab5d9be28d7c494595c0aa6682
INFO:    Running post scriptlet
/.singularity.d/libs/faked: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /.singularity.d/libs/faked)
/.singularity.d/libs/faked: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /.singularity.d/libs/faked)
fakeroot: error while starting the `faked' daemon.
/.singularity.d/libs/fakeroot: 1: kill: Usage: kill [-s sigspec | -signum | -sigspec] [pid | job]... or
kill -l [exitstatus]
FATAL:   While performing build: while running engine: exit status 1

Steps to reproduce this behavior

OS:

Description:    Ubuntu 22.04.1 LTS

run1804.def:

Bootstrap: docker
From: ubuntu:18.04

%post
    apt -y update

command:

apptainer build ./run1804.sif ./run1804.def

What OS/distro are you running

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

How did you install Apptainer

Apptainer is installed from source

$ apptainer version
1.1.3+192-g3c5eb2a27

Same result is obtained with the debian packages from the github release page (I tried 1.1.3, 1.1.2, 1.1.0).

HOWEVER-1

  • everything is fine with HOST version as 20.04, image as 18.04
  • everything is fine with HOST version as 22.04, image as 20.04
  • everything is fine with HOST version as 22.04, image as 22.04

HOWEVER-2

  • eveything is fine when user is referenced inside /etc/subuid and /etc/subgid
@DrDaveD
Copy link
Contributor

DrDaveD commented Nov 9, 2022

This is a known limitation of the fakeroot-command based fake root (I think of it as "fake" fakeroot). As the fakeroot documentation says under mode 3: "the fakeroot command is bound in from the host so if the host libc library is of a very different vintage than the corresponding container library the fakeroot command can fail. If that situation happens it can be worth trying to run apptainer under the unshare -r command which is essentially the same thing as running in a root-mapped user namespace; in that case Apptainer will not try to run the fakeroot command even if it is in the user’s PATH."

@DrDaveD DrDaveD closed this as completed Nov 9, 2022
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

No branches or pull requests

2 participants