An update. We used chroot from Archlinux and repos which provides a patched ANGLE, as seen here <https://github.com/edubart/archlibs/blob/master/mingw-w64/mingw-w64-angleproject/angleproject-fix-mingw-compatibility.patch#L51>, and it worked like a charm. We were able to compile qnanopainter and deploy it via qtwindeploy to a Windows host. Not sure if this rings some bells but just thought it was worth mentioning.
Regards, F. On Mon, 27 May 2019 at 14:08, Federico Buti <fed.b...@gmail.com> wrote: > Hi Vadim, > > Thanks for the reply. > No, quite sure we are not mixing packages in MXE. Compilation is forced > for 32 bit target only. On native Windows we are using plain Qt 5.12.x from > qt.io so there everything should be correctly aligned too. > F. > > > On Mon, 27 May 2019 at 13:11, Vadim Peretokin <vpereto...@gmail.com> > wrote: > >> Are you mixing 64bit and 32bit libraries by accident during linking? I >> had similar messages in that scenario. >> >> On Mon, May 27, 2019 at 12:57 PM 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 >> >
_______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest