ck-tensorrt icon indicating copy to clipboard operation
ck-tensorrt copied to clipboard

libGL linking problem

Open fvella opened this issue 7 years ago • 1 comments

The installation of lib-jetson-inference-dusty-nv-master-cuda package via CK:

$ ck install package:lib-jetson-inference-dusty-nv-master-cuda

fails with the following error:

/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmCloseOnce'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmMap'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmUnmap'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmGetDevices2'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmFreeDevice'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmOpenOnce'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmGetDevice2'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmFreeDevices'
collect2: error: ld returned 1 exit status
imagenet-console/CMakeFiles/imagenet-console.dir/build.make:101: recipe for target 'aarch64/bin/imagenet-console' failed

The problem is due to libGL.so. The package is compiled by using the default one that is located in /usr/lib/aarch64-linux-gnu/libGL.so instead of using /usr/lib/aarch64-linux-gnu/tegra/libGL.so A workaround is provided here and in CMalePrebuild.sh script

The right approach should be detecting /usr/lib/aarch64-linux-gnu/tegra/libGL.so via CK and use it.

fvella avatar Jan 11 '18 15:01 fvella

I've just hit the same issue. As you suggest, we may need soft:lib.gl.tegra that detects tegra/LibGL.so, and a dependency on it in package:lib-jetson-inference-dusty-nv-master-cuda.

psyhtest avatar Aug 28 '18 10:08 psyhtest