[Solved] Jetson TK1: libEGL warning - Can not find libOpenVG

Hi,

I’m working on a Jetson TK1 board R21.1. My host is a Virtual Machine with Ubuntu 14.04 LTS 64bit.
I would like to create a Qt application using OpenGL and a CUDA library (that I have created using nsight) that I am cross-compiling.

I’m having this error:

libEGL warning: Could not open driver /usr/lib/arm-linux-gnueabihf/egl/egl_gallium.so (libOpenVG.so.1: cannot open shared object file: No such file or directory)

Inside my folder “egl” on the board, I just had the egl-gallium.so so I created a symlink to the libOpenVG.so.1 linked to the /usr/lib/arm-linux-gnueabihf/mesa-egl/libOpenVG.so.1.0.0 but I am still getting the error.
I understand that egl-gallium is a driver used by EGL (http://www.mesa3d.org/egl.html)

Am I supposed to use this one on my board ? Or am I supposed to use the dri2 driver ? Where is it supposed to be ? (I’m not able to find the library of dri2 driver)
How can I specify to use dri2 instead of gallium ?

Thank you for your help,

Morgane

Wild Guess !
On board under /usr/lib/arm-linux-guneabihf, your libEGL link looks like this

libEGL.so -> mesa-egl/libEGL.so.1

or this

libEGL.so -> tegra-egl/libEGL.so.1

The fromer one is not correct which cuz by apt-get install certain mesa stuffs. Just rebuild the link.

Hi,

Thank you for your answer !!
I checked my /usr/lib/arm-linux-gnuabihf/libEGL.so and it was link to the mesa-egl/libEGL.so.1.0.0
I changed it for the tegra-egl and it’s now working perfectly !

Thanks a lot for your help :)

Morgane

I think the libraries are searched in a specific order and the first hit is used.

The order is defined by going through the library directories listed here (in alphabetical order):

/etc/ld.so.conf.d/

So instead of changing the symlinks (they can get broken on apt-get upgrade) you may want to add new files to the conf.d directory to correct the search order.

After changing those, you need to run:

sudo ldconfig