[Pkg-opencl-devel] Bug#994833: OpenCL programs abort when intel-opencl-icd is installed
Giuseppe Bilotta
giuseppe.bilotta at gmail.com
Tue Sep 21 18:21:10 BST 2021
Package: intel-opencl-icd
Followup-For: Bug #994833
Downgrading ONLY intel-opencl-icd to version 20.44.18297-1 leads to a
different error:
Abort was called at 41 line in file:
/build/intel-compute-runtime-7vSeZ9/intel-compute-runtime-20.44.18297/shared/source/built_ins/built_ins.cpp
Aborted
Downgrading ALSO libigc1 and libigdfcl1 to version 1.0.5353.1-2 makes
the package usable again. This makes me suspect that the issue is in
those libraries instead.
Running clinfo with
OCL_ICD_VENDORS=/etc/OpenCL/vendors/intel.icd LD_DEBUG=libs
gives me the following
=====
342713: find library=libOpenCL.so.1 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libOpenCL.so.1
342713:
342713: find library=libdl.so.2 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/lib/x86_64-linux-gnu/libdl.so.2
342713:
342713: find library=libc.so.6 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/lib/x86_64-linux-gnu/libc.so.6
342713:
342713:
342713: calling init: /lib64/ld-linux-x86-64.so.2
342713:
342713:
342713: calling init: /lib/x86_64-linux-gnu/libc.so.6
342713:
342713:
342713: calling init: /lib/x86_64-linux-gnu/libdl.so.2
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libOpenCL.so.1
342713:
342713:
342713: initialize program: clinfo
342713:
342713:
342713: transferring control: clinfo
342713:
342713: find library=libpthread.so.0 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/lib/x86_64-linux-gnu/libpthread.so.0
342713:
342713: find library=libigdgmm.so.11 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libigdgmm.so.11
342713:
342713: find library=libstdc++.so.6 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
342713:
342713: find library=libm.so.6 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/lib/x86_64-linux-gnu/libm.so.6
342713:
342713: find library=libgcc_s.so.1 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/lib/x86_64-linux-gnu/libgcc_s.so.1
342713:
342713:
342713: calling init: /lib/x86_64-linux-gnu/libpthread.so.0
342713:
342713:
342713: calling init: /lib/x86_64-linux-gnu/libgcc_s.so.1
342713:
342713:
342713: calling init: /lib/x86_64-linux-gnu/libm.so.6
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libstdc++.so.6
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libigdgmm.so.11
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/intel-opencl/libigdrcl.so
342713:
342713: find library=libigfxdbgxchg64.so [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libigfxdbgxchg64.so
342713:
342713: find library=libigfxdbginfo.so [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libigfxdbginfo.so
342713:
342713: find library=libelfdwarf.so [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libelfdwarf.so
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libelfdwarf.so
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libigfxdbginfo.so
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libigfxdbgxchg64.so
342713:
342713: find library=libigdml.so.1 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: search path=/lib/x86_64-linux-gnu/tls/haswell/x86_64:/lib/x86_64-linux-gnu/tls/haswell:/lib/x86_64-linux-gnu/tls/x86_64:/lib/x86_64-linux-gnu/tls:/lib/x86_64-linux-gnu/haswell/x86_64:/lib/x86_64-linux-gnu/haswell:/lib/x86_64-linux-gnu/x86_64:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu/tls/haswell/x86_64:/usr/lib/x86_64-linux-gnu/tls/haswell:/usr/lib/x86_64-linux-gnu/tls/x86_64:/usr/lib/x86_64-linux-gnu/tls:/usr/lib/x86_64-linux-gnu/haswell/x86_64:/usr/lib/x86_64-linux-gnu/haswell:/usr/lib/x86_64-linux-gnu/x86_64:/usr/lib/x86_64-linux-gnu:/lib/tls/haswell/x86_64:/lib/tls/haswell:/lib/tls/x86_64:/lib/tls:/lib/haswell/x86_64:/lib/haswell:/lib/x86_64:/lib:/usr/lib/tls/haswell/x86_64:/usr/lib/tls/haswell:/usr/lib/tls/x86_64:/usr/lib/tls:/usr/lib/haswell/x86_64:/usr/lib/haswell:/usr/lib/x86_64:/usr/lib (system search path)
342713: trying file=/lib/x86_64-linux-gnu/tls/haswell/x86_64/libigdml.so.1
342713: trying file=/lib/x86_64-linux-gnu/tls/haswell/libigdml.so.1
342713: trying file=/lib/x86_64-linux-gnu/tls/x86_64/libigdml.so.1
342713: trying file=/lib/x86_64-linux-gnu/tls/libigdml.so.1
342713: trying file=/lib/x86_64-linux-gnu/haswell/x86_64/libigdml.so.1
342713: trying file=/lib/x86_64-linux-gnu/haswell/libigdml.so.1
342713: trying file=/lib/x86_64-linux-gnu/x86_64/libigdml.so.1
342713: trying file=/lib/x86_64-linux-gnu/libigdml.so.1
342713: trying file=/usr/lib/x86_64-linux-gnu/tls/haswell/x86_64/libigdml.so.1
342713: trying file=/usr/lib/x86_64-linux-gnu/tls/haswell/libigdml.so.1
342713: trying file=/usr/lib/x86_64-linux-gnu/tls/x86_64/libigdml.so.1
342713: trying file=/usr/lib/x86_64-linux-gnu/tls/libigdml.so.1
342713: trying file=/usr/lib/x86_64-linux-gnu/haswell/x86_64/libigdml.so.1
342713: trying file=/usr/lib/x86_64-linux-gnu/haswell/libigdml.so.1
342713: trying file=/usr/lib/x86_64-linux-gnu/x86_64/libigdml.so.1
342713: trying file=/usr/lib/x86_64-linux-gnu/libigdml.so.1
342713: trying file=/lib/tls/haswell/x86_64/libigdml.so.1
342713: trying file=/lib/tls/haswell/libigdml.so.1
342713: trying file=/lib/tls/x86_64/libigdml.so.1
342713: trying file=/lib/tls/libigdml.so.1
342713: trying file=/lib/haswell/x86_64/libigdml.so.1
342713: trying file=/lib/haswell/libigdml.so.1
342713: trying file=/lib/x86_64/libigdml.so.1
342713: trying file=/lib/libigdml.so.1
342713: trying file=/usr/lib/tls/haswell/x86_64/libigdml.so.1
342713: trying file=/usr/lib/tls/haswell/libigdml.so.1
342713: trying file=/usr/lib/tls/x86_64/libigdml.so.1
342713: trying file=/usr/lib/tls/libigdml.so.1
342713: trying file=/usr/lib/haswell/x86_64/libigdml.so.1
342713: trying file=/usr/lib/haswell/libigdml.so.1
342713: trying file=/usr/lib/x86_64/libigdml.so.1
342713: trying file=/usr/lib/libigdml.so.1
342713:
342713: find library=libva.so.2 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libva.so.2
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libva.so.2
342713:
342713:
342713: calling fini: /usr/lib/x86_64-linux-gnu/libva.so.2 [0]
342713:
342713: find library=libigdfcl.so.1 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libigdfcl.so.1
342713:
342713: find library=libLLVM-11.so.1 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libLLVM-11.so.1
342713:
342713: find library=libopencl-clang.so.11 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/libopencl-clang.so.11
342713:
342713: find library=libffi.so.7 [0]; searching
342713: search path=/usr/lib/x86_64-linux-gnu/../lib/tls/haswell/x86_64:/usr/lib/x86_64-linux-gnu/../lib/tls/haswell:/usr/lib/x86_64-linux-gnu/../lib/tls/x86_64:/usr/lib/x86_64-linux-gnu/../lib/tls:/usr/lib/x86_64-linux-gnu/../lib/haswell/x86_64:/usr/lib/x86_64-linux-gnu/../lib/haswell:/usr/lib/x86_64-linux-gnu/../lib/x86_64:/usr/lib/x86_64-linux-gnu/../lib (RUNPATH from file /usr/lib/x86_64-linux-gnu/libLLVM-11.so.1)
342713: trying file=/usr/lib/x86_64-linux-gnu/../lib/tls/haswell/x86_64/libffi.so.7
342713: trying file=/usr/lib/x86_64-linux-gnu/../lib/tls/haswell/libffi.so.7
342713: trying file=/usr/lib/x86_64-linux-gnu/../lib/tls/x86_64/libffi.so.7
342713: trying file=/usr/lib/x86_64-linux-gnu/../lib/tls/libffi.so.7
342713: trying file=/usr/lib/x86_64-linux-gnu/../lib/haswell/x86_64/libffi.so.7
342713: trying file=/usr/lib/x86_64-linux-gnu/../lib/haswell/libffi.so.7
342713: trying file=/usr/lib/x86_64-linux-gnu/../lib/x86_64/libffi.so.7
342713: trying file=/usr/lib/x86_64-linux-gnu/../lib/libffi.so.7
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libffi.so.7
342713:
342713: find library=libedit.so.2 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libedit.so.2
342713:
342713: find library=libz.so.1 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/lib/x86_64-linux-gnu/libz.so.1
342713:
342713: find library=librt.so.1 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/lib/x86_64-linux-gnu/librt.so.1
342713:
342713: find library=libtinfo.so.6 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/lib/x86_64-linux-gnu/libtinfo.so.6
342713:
342713: find library=libz3.so.4 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libz3.so.4
342713:
342713: find library=libLLVMSPIRVLib.so.11 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: search path=/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/lib:/usr/lib (system search path)
342713: trying file=/lib/x86_64-linux-gnu/libLLVMSPIRVLib.so.11
342713: trying file=/usr/lib/x86_64-linux-gnu/libLLVMSPIRVLib.so.11
342713: trying file=/lib/libLLVMSPIRVLib.so.11
342713: trying file=/usr/lib/libLLVMSPIRVLib.so.11
342713:
342713: find library=libigc.so.1 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libigc.so.1
342713:
342713: find library=libLLVM-12.so.1 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1
342713:
342713: find library=libffi.so.7 [0]; searching
342713: search path= (RUNPATH from file /usr/lib/x86_64-linux-gnu/libLLVM-11.so.1)
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libffi.so.7
342713:
342713: find library=libedit.so.2 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libedit.so.2
342713:
342713: find library=librt.so.1 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/lib/x86_64-linux-gnu/librt.so.1
342713:
342713: find library=libz3.so.4 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libz3.so.4
342713:
342713: find library=libz.so.1 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/lib/x86_64-linux-gnu/libz.so.1
342713:
342713: find library=libtinfo.so.6 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/lib/x86_64-linux-gnu/libtinfo.so.6
342713:
342713: find library=libxml2.so.2 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libxml2.so.2
342713:
342713: find library=libbsd.so.0 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libbsd.so.0
342713:
342713: find library=libicuuc.so.67 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libicuuc.so.67
342713:
342713: find library=liblzma.so.5 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/lib/x86_64-linux-gnu/liblzma.so.5
342713:
342713: find library=libmd.so.0 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libmd.so.0
342713:
342713: find library=libicudata.so.67 [0]; searching
342713: search cache=/etc/ld.so.cache
342713: trying file=/usr/lib/x86_64-linux-gnu/libicudata.so.67
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libicudata.so.67
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libmd.so.0
342713:
342713:
342713: calling init: /lib/x86_64-linux-gnu/liblzma.so.5
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libicuuc.so.67
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libbsd.so.0
342713:
342713:
342713: calling init: /lib/x86_64-linux-gnu/libz.so.1
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libxml2.so.2
342713:
342713:
342713: calling init: /lib/x86_64-linux-gnu/libtinfo.so.6
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libz3.so.4
342713:
342713:
342713: calling init: /lib/x86_64-linux-gnu/librt.so.1
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libedit.so.2
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libffi.so.7
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libLLVM-12.so.1
342713:
342713:
342713: calling init: /usr/lib/x86_64-linux-gnu/libigc.so.1
342713:
Abort was called at 42 line in file:
./shared/source/built_ins/built_ins.cpp
=====
The unusual thingis that “something” in the call chain is trying to load
LLVM 11 libraries, while something else is trying to load LLVM 12
libraries.
Running `ldd /usr/lib/x86_64-linux-gnu/libigdfcl.so.1` against version
1.0.8279-1 of libigdfcl1 gives:
linux-vdso.so.1 (0x00007ffdf332f000)
libLLVM-11.so.1 => /usr/lib/x86_64-linux-gnu/libLLVM-11.so.1 (0x00007f325e7c3000)
libopencl-clang.so.11 => /usr/lib/libopencl-clang.so.11 (0x00007f325e6d3000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f325e6cd000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f325e4c1000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f325e2fc000)
libffi.so.7 => /usr/lib/x86_64-linux-gnu/libffi.so.7 (0x00007f325e2f0000)
libedit.so.2 => /usr/lib/x86_64-linux-gnu/libedit.so.2 (0x00007f325e2b5000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f325e298000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f325e28d000)
libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f325e25b000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f325e23a000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f325e0f5000)
libz3.so.4 => /usr/lib/x86_64-linux-gnu/libz3.so.4 (0x00007f325caf2000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f325cad8000)
/lib64/ld-linux-x86-64.so.2 (0x00007f32639c7000)
libLLVMSPIRVLib.so.11 => not found
libclang-cpp.so.11 => /usr/lib/x86_64-linux-gnu/libclang-cpp.so.11 (0x00007f3259e41000)
libbsd.so.0 => /usr/lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f3259e2a000)
libmd.so.0 => /usr/lib/x86_64-linux-gnu/libmd.so.0 (0x00007f3259e1b000)
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.)
-- System Information:
Debian Release: bookworm/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.10.0-8-amd64 (SMP w/12 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages intel-opencl-icd depends on:
ii libc6 2.32-4
ii libgcc-s1 11.2.0-7
ii libigc1 1.0.5353.1-2
ii libigdfcl1 1.0.5353.1-2
ii libigdgmm11 21.2.2+ds1-1
ii libstdc++6 11.2.0-7
ii ocl-icd-libopencl1 2.2.14-2
intel-opencl-icd recommends no packages.
intel-opencl-icd suggests no packages.
-- no debconf information
More information about the Pkg-opencl-devel
mailing list