Hi Oliver.

Thanks for the reply.
At the moment our example is just "compile qnanopainter" since it's what
gave us the radically different results between 5.9.x and 5.12.x in the
first place. Just in case I've also opened an issue in qnanopainter because
something can be off there too. I remember the library had issues on Win
back in the day.

I'll try to create a decent minimal example asap and create a bug.
F.


On Mon, 27 May 2019 at 12:57, Oliver Wolff <oliver.wo...@qt.io> wrote:

> 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
>
_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

Reply via email to