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

/.singularity.d/libs/faked: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found #2103

Closed
sorenwacker opened this issue Mar 19, 2024 · 1 comment

Comments

@sorenwacker
Copy link

Version of Apptainer

What version of Apptainer (or Singularity) are you using? Run

apptainer version 1.2.5

Expected behavior

Bootstrap: docker
From: condaforge/miniforge3:latest

%files
    environment.yaml /environment.yaml
    requirements.txt /requirements.txt

%post
    # Update and install necessary packages
    apt-get update && apt-get install -y tree time vim ncdu speedtest-cli build-essential

    # Create a new Conda environment with JupyterLab
    mamba env create --quiet -n __apptainer-env__ --file /environment.yaml
    
    # Clean up
    apt-get clean && rm -rf /var/lib/apt/lists/*
    mamba clean --all -y

    # Now add the script to activate the Conda environment
    echo '. "/opt/conda/etc/profile.d/conda.sh"' >> $SINGULARITY_ENVIRONMENT
    echo 'conda activate __apptainer-env__' >> $SINGULARITY_ENVIRONMENT

apptainer build data-science-mamba.sif Apptainer.def

expected to build the container.

Actual behavior

INFO:    User not listed in /etc/subuid, trying root-mapped namespace
INFO:    The %post section will be run under fakeroot
Build target 'data-science-mamba.sif' already exists and will be deleted during the build process. Do you want to continue? [N/y] y
INFO:    Starting build...
Getting image source signatures
Copying blob 37f6c0865591 skipped: already exists  
Copying blob 17d0386c2fff skipped: already exists  
Copying config 7e59039f1c done  
Writing manifest to image destination
Storing signatures
2024/03/19 12:04:13  info unpack layer: sha256:17d0386c2fff30a5b92652bbef2b84639dba9b9f17bdbb819c8d10badd827fdb
2024/03/19 12:04:14  info unpack layer: sha256:37f6c08655917c7151130443c1cfe24492f41aef032347a9bc5af447c166cdc9
INFO:    Copying environment.yaml to /environment.yaml
INFO:    Copying requirements.txt to /requirements.txt
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

What OS/distro are you running

PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 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

sudo apt-get install apptainer
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
apptainer is already the newest version (1.2.5).

I tried updating glibc

sudo apt-get install libc6
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libc6 is already the newest version (2.35-0ubuntu3.6).

And installed fakeroot

sudo apt-get install fakeroot
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
fakeroot is already the newest version (1.28-1ubuntu1).
@DrDaveD
Copy link
Contributor

DrDaveD commented Mar 19, 2024

Since the fakeroot command is bind-mapped in from the host, it requires the container glibc library to be at least as new as the host's. This can be avoided by either setting up the /etc/subuid mapping, for example by using sudo apptainer config fakeroot --add $USER, or by installing apptainer with install-unprivileged.sh because that installs an older (EL7) fakeroot command to use.

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