cannot compile Qt with OpenGL ES2 support

I am trying to compile Qt 5.5.1 on my Jetson TK1 board. The configuration settings are:

configure -alsa -pulseaudio -xcb -release -opensource -nomake examples -nomake tests -skip qtwebkit -skip qtwebkit-examples -skip qtwebchannel -skip qtwebengine -skip qtwayland -no-pch -egl -qpa xcb -no-eglfs -opengl es2 -qreal float

Now this fails the ES2 configuration tests as:

The OpenGL ES 2.0 functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in
/home/ubuntu/Downloads/qt-everywhere-opensource-src-5.5.1/qtbase/mkspecs/linux-g++.

I noticed there was no libEGL.so in /usr/lib, so I added the symbolic link to /usr/lib/arm-linux-gnueabihf/tegra-egl/libEGL.so.1. However, the error still persists.

Does anyone have any ideas on how I can resolve this? Also, is it possible to configure Qt with both ES2 and Desktop openGL?

I can’t answer the GLES question, but you can see what the linker actually makes available:

ldconfig -p

…or to see what GLES is available and where it finds the GLES lib:

ldconfig -p | egrep GLES

Note that it is redundant to add a link in “/usr/lib” because the hardware-specific “/usr/lib/arm-linux-gnueabihf/” directory is already in the linker path. Also, compiling requires both headers and libraries, but running existing applications only requires libraries without headers…most likely the compatibility note was for lack of development headers, and not due to lack of libraries. Are the headers installed?

As a side note, the nVidia-specific files are the hardware access libraries. Header files are not hardware specific…headers are interchangeable more or less for a given API/SDK version, and mesa headers should work from any “-dev” package so long as it doesn’t overwrite the libraries. Debug versions of mesa would imply symbols within the library, which in turn would mean overwriting or replacing nVidia versions…you do not want a mesa debug package, but a mesa dev package would be fine. To verify if something from nVidia was overwritten, check for ok on this:

sha1sum -c /etc/nv_tegra_release

…if anything was overwritten you can just unpack the driver package “nv_tegra/nvidia_drivers.tbz2” archive within “/” of the running Jetson (use sudo) to fix the issue. If you are worried about an overwrite you can copy the nvidia_drivers.tbz2 to “/” of the Jetson before installing something like a mesa dev package.

Thanks for the reply! Yes, that was it. I needed the mesa ES2 libraries. I was not sure if those were the ones I had to install and whether it would mess up some native Jetson libs. Thanks. It is compiling now.