-
Notifications
You must be signed in to change notification settings - Fork 48
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
Conda CI Failure Late November 2021 in packages linking OpenGL directly or transitively (i.e. via qt) #929
Comments
fyi @Tobias-Fischer @wolfv I imagine that this may affect also Robostack packages that depend on Gazebo or in any indirect way to ffmpeg (for example via ignition-common). |
Note that this is not clear to me why |
Closing as all the related PRs have been fixed. |
xref related conda-forge issue: conda-forge/conda-forge.github.io#1436 . |
The error
This issue is an explanation for the failure that affected several repos that we manage at IIT and have a conda-forge-based CI, and that experience failures like:
Long and boring explanation
This issue is an explanation of what is happening and a way to indicate possible solutions.
This specific problem is caused by the fact that
/usr/share/miniconda3/envs/test/lib/libGL.so.1
is missing thememcpy@GLIBC_2.14
(so amemcpy
function provided by glibc 2.14) and a few functions providedlibxshmfence.so.1
. This was not happening until a few days ago, because the/usr/share/miniconda3/envs/test/lib/libGL.so.1
library was provided bymesalib
version 18, that was now updated to version 21 and to require glibc 2.17 and the cdt packages provided by centos7 (see https://conda-forge.org/docs/maintainer/knowledge_base.html#core-dependency-tree-packages-cdts and #477 for what a cdt package is). So, this was triggered by conda-forge/mesalib-feedstock#34 .However, in theory the
libLG.so.1
library should be provided by a cdt package (in particularmesa-libgl-cos6-x86_64
, or cos7 if you are targeting glib 2.17), so there is no need to install mesalib at all. So indeed a solution (S1) is to stop installing mesalib.However, if you install gazebo, mesalib is going to be installed anyway as of Nov 2021 due to this dependency chain:
So if you install ``ffmpeg
or
gazebo`, the easiest solution is to switch to `cos7` cdt packages (required by the latest mesalib build) and also install the `libxshmfence-cos7-x86_64 libxshmfence-devel-cos7-x86_64` cdt packages. This is mentioned as S2 in the next section.TL;DR: Just the solutions
S1: Do not install mesalib
If you do not depend or use gazebo or ffmpeg, just do not install
mesalib
and install insteadmesa-libgl-cos6-x86_64
.S2: Use cos7 packages instead of cos6 package
If you depend or use gazebo or ffmpeg, instead of installing:
install:
The only downside of this is that the compiled binaries will not run in distro release before 2014, but I do not think this is really a problem for any user of robotology-superbuild (if instead it is, please comment!). This is the solution adopted in #926 .
The text was updated successfully, but these errors were encountered: