Comment # 2 on bug 1065464 from
When multiple ICDs are installed, libopencl1 needs to dlopen() them all
to find out which one works on the available hardware.  If they are
dynamically linked, this leads to them sharing a libllvm, which has
enough global state that this is likely to error out.  (This is a known
LLVM bug, https://bugs.llvm.org/show_bug.cgi?id=22952 , but currently
has no real fix.)

I'm regularly using multiple ICDs (pocl, nvidia-binary, intel-binary) and never
had any issues and I do not really like the idea allowing only one ICD
installed at once.

Afaik we're actually shipping three ICDs in Tubleweed that make use of libllvm:
  * beignet
  * pocl
  * mesa

A workaround that is used by the debian packaging team is to statically link
all these packages to avoid sharing a libllvm.

Imo we should do the same. Any objections ?


You are receiving this mail because: