On 21/09/2021 19.21, Giuseppe Bilotta wrote:
So I'm guessing the main issue at play here is that libigdfcl.so.1 is
_allegedly_  recompiled against LLVM 12 (per the package requires), but
for some reason the library is still looking for version 11 things.

reassign -1 libigdfcl1 1.0.8279-1

(As a side note, libigc1, libigdfcl1 and libigdgmm11 should probably
Break: versions of intel-opencl-icd not compiled for the same LLVM
version, to prevent e.g. installation of ICD version 20.x,
built with LLVM 11,
with libigc1 etc version 1.0.8279 or later, which are built against
LLVM 12.)

So if it does matter abi-wise for intel-opencl-icd which version of llvm libigfoo1 was compiled against, we should model this in the dependency chain.

It's probably best if all libigfoo1 library packages provide a virtual package libigfoo1-llvmXX (don't hardcode it, use substvars) and intel-opencl-icd depends on that (in addition to libigfoo1 (>= xx)) to specify the specific abi needed. (renaming the real package to libigfoo1-llvmXX each time the llvm major version changes is probably overkill)

Are there other users of libigfoo1 besides intel-opencl-icd?

We will proably still run into problems if different ICDs built against different LLVM versions are going to be loaded at the same time (e.g. pocl/llvm9 and intel/llvm1x) because the different llvm versions seem to stomp on each others internal bits. There are bugs open about that ...

I may come up with a patch if time permits.

Andreas

Reply via email to