ck-tensorrt
ck-tensorrt copied to clipboard
libGL linking problem
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.
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
.