Hi Frederico,

I am not aware of an issue with ANGLE when using MinGW. Can you create a 
bug report on http://bugreports.qt.io/ ,attach a minimal example, and 
assign it to me so that it does not get lost?

Olli

On 25/05/2019 17:47, Federico Buti wrote:
> Hi all.
> 
> We are facing a quite strange behaviour with qnanopainter 
> <https://github.com/QUItCoding/qnanopainter>.
> Building/running the library and the examples works smoothly on Qt 5.9.8 
> and no issue is found. I guess everything was fixed there, see for 
> instance here 
> <https://github.com/QUItCoding/qnanopainter/issues/16#issue-235192684>.
> 
> Building the code on 5.12.x results in a similar linker issue as 
> depicted in the last link. In particular we have a series of undefined 
> references as shown below:
> 
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x12b):
>  
> undefined reference to `_imp__glDeleteTextures@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1b4):
>  
> undefined reference to `glDeleteShader@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1d5):
>  
> undefined reference to `glDeleteBuffers@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1e5):
>  
> undefined reference to `glDeleteShader@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1f5):
>  
> undefined reference to `glDeleteProgram@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x988):
>  
> undefined reference to `_imp__glBindTexture@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x9a0):
>  
> undefined reference to `_imp__glPixelStorei@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x9fc):
>  
> undefined reference to `_imp__glTexSubImage2D@36'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0xa43):
>  
> undefined reference to `_imp__glBindTexture@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1361):
>  
> undefined reference to `_imp__glDeleteTextures@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1388):
>  
> undefined reference to `_imp__glGetError@0'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1407):
>  
> undefined reference to `_imp__glGenTextures@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x143a):
>  
> undefined reference to `_imp__glBindTexture@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1442):
>  
> undefined reference to `_imp__glPixelStorei@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x14ae):
>  
> undefined reference to `_imp__glTexImage2D@36'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x14d7):
>  
> undefined reference to `_imp__glTexParameteri@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1638):
>  
> undefined reference to `_imp__glBindTexture@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x16b9):
>  
> undefined reference to `glGenerateMipmap@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x16fa):
>  
> undefined reference to `_imp__glTexImage2D@36'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x171a):
>  
> undefined reference to `_imp__glTexParameteri@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x17e0):
>  
> undefined reference to `glUniform4fv@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1828):
>  
> undefined reference to `_imp__glBindTexture@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x185f):
>  
> undefined reference to `_imp__glBindTexture@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x18bb):
>  
> undefined reference to `glGetProgramInfoLog@16'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x192e):
>  
> undefined reference to `glGetShaderInfoLog@16'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x19c9):
>  
> undefined reference to `glCreateProgram@0'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x19d7):
>  
> undefined reference to `glCreateShader@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x19e8):
>  
> undefined reference to `glCreateShader@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1a19):
>  
> undefined reference to `glShaderSource@16'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1a44):
>  
> undefined reference to `glShaderSource@16'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1a4f):
>  
> undefined reference to `glCompileShader@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1a6a):
>  
> undefined reference to `glGetShaderiv@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1a94):
>  
> undefined reference to `glCompileShader@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1aaf):
>  
> undefined reference to `glGetShaderiv@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1adb):
>  
> undefined reference to `glAttachShader@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1aea):
>  
> undefined reference to `glAttachShader@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1b05):
>  
> undefined reference to `glBindAttribLocation@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1b20):
>  
> undefined reference to `glBindAttribLocation@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1b2b):
>  
> undefined reference to `glLinkProgram@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1b46):
>  
> undefined reference to `glGetProgramiv@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1bd9):
>  
> undefined reference to `glGetUniformLocation@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1bf1):
>  
> undefined reference to `glGetUniformLocation@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1c09):
>  
> undefined reference to `glGetUniformLocation@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1c22):
>  
> undefined reference to `glGenBuffers@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1c38):
>  
> undefined reference to `_imp__glFinish@0'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1d14):
>  
> undefined reference to `_imp__glStencilFunc@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1d5f):
>  
> undefined reference to `glUseProgram@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1d64):
>  
> undefined reference to `_imp__glEnable@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1d86):
>  
> undefined reference to `_imp__glCullFace@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1d96):
>  
> undefined reference to `_imp__glFrontFace@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1da7):
>  
> undefined reference to `_imp__glDisable@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1dca):
>  
> undefined reference to `_imp__glColorMask@16'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1df7):
>  
> undefined reference to `_imp__glStencilMask@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1e0c):
>  
> undefined reference to `_imp__glStencilOp@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1e4c):
>  
> undefined reference to `_imp__glStencilFunc@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1e5b):
>  
> undefined reference to `glActiveTexture@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1e60):
>  
> undefined reference to `_imp__glBindTexture@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1edf):
>  
> undefined reference to `glBindBuffer@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1f07):
>  
> undefined reference to `glBufferData@16'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1f16):
>  
> undefined reference to `glEnableVertexAttribArray@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1f25):
>  
> undefined reference to `glEnableVertexAttribArray@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1f5c):
>  
> undefined reference to `glVertexAttribPointer@24'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1f93):
>  
> undefined reference to `glVertexAttribPointer@24'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1fa9):
>  
> undefined reference to `glUniform1i@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1fc6):
>  
> undefined reference to `glUniform4fv@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1fce):
>  
> undefined reference to `_imp__glDrawArrays@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2085):
>  
> undefined reference to `glBlendFuncSeparate@16'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2141):
>  
> undefined reference to `glStencilOpSeparate@16'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2168):
>  
> undefined reference to `glStencilOpSeparate@16'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x217f):
>  
> undefined reference to `_imp__glDrawArrays@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2289):
>  
> undefined reference to `glDisableVertexAttribArray@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2298):
>  
> undefined reference to `glDisableVertexAttribArray@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x22bd):
>  
> undefined reference to `glBindBuffer@8'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x22cc):
>  
> undefined reference to `glUseProgram@4'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2374):
>  
> undefined reference to `_imp__glDrawArrays@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x249e):
>  
> undefined reference to `_imp__glDrawArrays@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2532):
>  
> undefined reference to `_imp__glDrawArrays@12'
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2843):
>  
> undefined reference to `_imp__glDrawArrays@12'
> 
> When we substituted the "liblibGLESv2.a" from Qt 5.12 with the one from 
> 5.9 - just to do a wild test - compilation succeeded but then we had a 
> runtime failure which was totally expected.
> 
> The very same series of undefined references are also spotted while 
> cross-compiling with MXE and a patched Qt version to have dynamic 
> selection of the GL backend.
> 
> What is exactly happening here? How can we proceed? What's the best way 
> to use angle when cross-compiling Qt, e.g. with MXE?
> 
> Thanks in advance,
> F.
> 
> 
> _______________________________________________
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest
> 
_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

Reply via email to