nm -D /usr/lib/arm-linux-gnueabihf/libhybris-egl/libGLESv2.so.2 | grep glGenTex 00002384 i glGenTextures
the symbol is in the library, but is indirect function.
LD_DEBUG=all ./cube --desktop_file_hint=dialer-app 2>&1 | grep glGenTex 8196: symbol=glGenTextures; lookup in file=./cube [0] 8196: symbol=glGenTextures; lookup in file=/usr/lib/arm-linux-gnueabihf/libQt5Widgets.so.5 [0] 8196: symbol=glGenTextures; lookup in file=/usr/lib/arm-linux-gnueabihf/libQt5Gui.so.5 [0] 8196: symbol=glGenTextures; lookup in file=/usr/lib/arm-linux-gnueabihf/libQt5Core.so.5 [0] 8196: symbol=glGenTextures; lookup in file=/usr/lib/arm-linux-gnueabihf/libhybris-egl/libGLESv2.so.2 [0] 8196: binding file /usr/lib/arm-linux-gnueabihf/libQt5Gui.so.5 [0] to /usr/lib/arm-linux-gnueabihf/libhybris-egl/libGLESv2.so.2 [0]: normal symbol `glGenTextures'
it appears that the runtime linker finds the symbol in the correct library.
nm -D /usr/lib/ arm-linux- gnueabihf/ libhybris- egl/libGLESv2. so.2 | grep glGenTex
00002384 i glGenTextures
the symbol is in the library, but is indirect function.
LD_DEBUG=all ./cube --desktop_ file_hint= dialer- app 2>&1 | grep glGenTex glGenTextures; lookup in file=./cube [0] glGenTextures; lookup in file=/usr/ lib/arm- linux-gnueabihf /libQt5Widgets. so.5 [0] glGenTextures; lookup in file=/usr/ lib/arm- linux-gnueabihf /libQt5Gui. so.5 [0] glGenTextures; lookup in file=/usr/ lib/arm- linux-gnueabihf /libQt5Core. so.5 [0] glGenTextures; lookup in file=/usr/ lib/arm- linux-gnueabihf /libhybris- egl/libGLESv2. so.2 [0] arm-linux- gnueabihf/ libQt5Gui. so.5 [0] to /usr/lib/ arm-linux- gnueabihf/ libhybris- egl/libGLESv2. so.2 [0]: normal symbol `glGenTextures'
8196: symbol=
8196: symbol=
8196: symbol=
8196: symbol=
8196: symbol=
8196: binding file /usr/lib/
it appears that the runtime linker finds the symbol in the correct library.