-
Notifications
You must be signed in to change notification settings - Fork 4
Description
I have created a BioContainer using base-glibc-debian-bash as the base image: BioContainers/multi-package-containers#3817
Trying to initialize EGL within the container gives an error:
root@4e65d8c5e92a:/# python -c "import libcarna.egl; libcarna.egl.EGLContext()"
libEGL warning: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)libEGL warning: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
Traceback (most recent call last):
File "", line 1, in
libcarna.base.AssertionFailure: An assertion has failed. Refer to details for further information.
Failed expression: chooseConfig == EGL_TRUE
Where: /opt/conda/conda-bld/libcarna-python_1765055125391/work/src/egl/EGLContext.cpp:170
Indeed, swrast_dri.so is not to be found in the image:
root@4e65d8c5e92a:/# find -name 'swrast*' && echo "end of list"
end of list
From what I have found (askubuntu.com), swrast_dri.so must be provided by the libgl1-mesa-dri package, which, however, cannot be installed within the image:
root@4e65d8c5e92a:/# apt install libgl1-mesa-dri
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package libgl1-mesa-dri is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another sourceE: Package 'libgl1-mesa-dri' has no installation candidate
Can it be that swrast_dri.so is supposed to be provided by the host system? If so, how do I need to modify the Docker command line? And how can I make this work in GitHub workflow runners?