Request for access to Qualcomm-specific libgbm package for VOXL 2 cross-compile
-
I’m working on a VOXL 2 (QRB5165) vision application that talks to voxl-mavlink-server via libmodal_pipe, but I’m building and unit-testing inside the standard voxl-cross Docker image. During the link stage I hit this unresolved symbol:
/usr/lib64/libmodal_pipe.so: undefined reference to `gbm_perform`
From what I gather, gbm_perform() is only exported by the proprietary Adreno driver build of libgbm.so that lives in the qrb5165-gpu (or similar) package on the target root-file-system. That package isn’t present in the container, so the linker fails even though Mesa’s stock libgbm is installed.
Could someone point me to (or grant me) the repo credentials / download location for that GPU package so I can install it in the container and link against the real library instead of a stub?
Thanks in advance for any guidance!
-
You can use the following trick on VOXL2 to find which package the library belongs to and then build the deb from the installed package. In this case the library is in a proprietary package qti-gbm, which you can easily re-create for use in your docker container. This is related to the following documentation page which describes how to run OpenCL inside a docker container : https://docs.modalai.com/voxl-2-opencl-in-docker/
voxl2-mini:~$ dpkg -S /usr/lib/libgbm.so qti-gbm: /usr/lib/libgbm.so apt install dpkg-repack voxl2-mini:~$ dpkg-repack qti-gbm dpkg-repack: warning: unknown information field 'Oe' in input data in entry in dpkg's status file dpkg-repack: warning: unknown information field 'Packagearch' in input data in entry in dpkg's status file dpkg-deb: building package 'qti-gbm' in './qti-gbm_18.0.0-rc5_arm64.deb'.
-
You may also be able to resolve your issue by switching to voxl-cross:4.0 docker image, which was recently released.