Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-66652

WIN64: 'Cannot open compiler generated file: '': Invalid argument' for QtBase libGLESv2 builds using MSVC

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • P2: Important
    • None
    • 5.11, 5.12, 5.13.1
    • None
    • Windows

    Description

      Hello, everyone,

       

      For builds using MSVC got errors:

      configure -v -opensource -confirm-license -release -developer-build -shared -platform win32-msvc -opengl dynamic && jom
      
      <snip>
      
              cd libGLESv2\ && ( if not exist Makefile C:\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789\qtbase\bin\qmake.exe -o Makefile C:\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789\qtbase\src\angle\src\libGLESv2\libGLESv2.pro ) && C:\Windows\jom.exe -f Makefile
              C:\Windows\jom.exe -f Makefile.Release
              cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -Oy- -Gy -GS -Gm- -utf-8 -EHsc -w44456 -w44457 -w44458 -W4 -wd4100 -wd4127 -wd4189 -wd4239 -wd4244 -wd4245 -wd4267 -wd4275 -wd4512 -wd4702 -wd4996 -wd4480 -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -D_WINDOWS -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE -D_HAS_EXCEPTIONS=0 -DNOMINMAX -DWIN32_LEAN_AND_MEAN=1 -DANGLE_ENABLE_D3D11 -DANGLE_DEFAULT_D3D11=1 -DNDEBUG -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DLIBANGLE_IMPLEMENTATION -DLIBGLESV2_IMPLEMENTATION -DGL_APICALL= -DGL_GLEXT_PROTOTYPES= -DEGLAPI= -DANGLE_ENABLE_D3D9 -DANGLE_SKIP_DXGI_1_2_CHECK -DANGLE_D3D11_QDTD_AVAILABLE -DQT_NO_DYNAMIC_CAST -D_WINDLL -I. -I. -I.. -IC:/0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789/qtbase/src/angle/src/../include -I..\..\..\3rdparty\angle\src -I..\..\..\3rdparty\angle\include -I..\..\src -I..\..\..\3rdparty\angle\src\libANGLE -I..\..\..\..\mkspecs\win32-msvc -Fo.obj\release\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789\qtbase\src\3rdparty\angle\src\libANGLE\renderer\d3d\d3d11\internal_format_initializer_table.obj ..\..\..\3rdparty\angle\src\libANGLE\renderer\d3d\d3d11\internal_format_initializer_table.cpp
      internal_format_initializer_table.cpp
      C:\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789\qtbase\src\3rdparty\angle\src\libANGLE\renderer\d3d\d3d11\internal_format_initializer_table.cpp : fatal error C1083: Cannot open compiler generated file: '': Invalid argument
      jom: C:\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789\qtbase\src\angle\src\libGLESv2\Makefile.Release [.obj\release\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789\qtbase\src\3rdparty\angle\src\libANGLE\renderer\d3d\d3d11\internal_format_initializer_table.obj] Error 1
      jom: C:\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789\qtbase\src\angle\src\libGLESv2\Makefile [release] Error 2
      jom: C:\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789\qtbase\src\angle\src\Makefile [sub-libGLESv2-make_first-ordered] Error 2
      jom: C:\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789\qtbase\src\angle\Makefile [sub-src-make_first] Error 2
      jom: C:\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789\qtbase\src\Makefile [sub-angle-make_first] Error 2
      jom: C:\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789\qtbase\Makefile [sub-src-make_first] Error 2
      jom: C:\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789\Makefile [module-qtbase-make_first] Error 2
      

       

      Reproduced for:

      • QtBase-dev build using MSVC with Change #218284 merged and path to Qt build folder is equal or more 63 characters,

      not reproduced for:

      • QtBase-dev build using MSVC with Change #218284 merged and path to Qt build folder is less than 63 characters,
      • QtBase-dev build using MSVC, reset prior to Change #218284 and path to Qt build folder is equal or more 63 characters,
      • QtBase-dev build using mingw-w64 with Change #218284 merged and path to Qt build folder is equal or more 63 characters.

       

      For both 62 and 63 characters path cases:

      • file 'qtbase\src\angle\src\libGLESv2\Makefile.Release' contain similar set of commands,
      • compiler flags for 'internal_format_initializer_table.cpp' build differs in path only (see attachment).

       

      In case that matters, using a workaround:

      Microsoft removes 260 character limit for NTFS Path in new Windows 10 Insider Preview - MSPoweruser

      which solved --QTBUG-64298--, has no effect on this issue.

       

      UPDATE: for Qt5-dev-de191df84fbdf0f7ddaa2e5d5cb10d4a475a639f it reproduces for builds using mingw-w64 too:

      cd libGLESv2\ && ( if not exist Makefile c:\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0\qtbase\bin\qmake.exe -o Makefile c:\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0\qtbase\src\angle\src\libGLESv2\libGLESv2.pro ) && mingw32-make -f Makefile
      mingw32-make[5]: Entering directory 'c:/0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0/qtbase/src/angle/src/libGLESv2'
      mingw32-make -f Makefile.Release
      mingw32-make[6]: Entering directory 'c:/0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0/qtbase/src/angle/src/libGLESv2'
      g++ -c -fno-keep-inline-dllexport -O2 -std=c++1y -fexceptions -mthreads -fno-rtti -Wall -W -Wextra -Wno-unknown-pragmas -Wno-comment -Wno-missing-field-initializers -Wno-switch -Wno-unused-parameter -Wno-write-strings -Wno-sign-compare -Wno-missing-braces -Wno-unused-but-set-variable -Wno-unused-variable -Wno-narrowing -Wno-maybe-uninitialized -Wno-strict-aliasing -Wno-type-limits -Wno-unused-local-typedefs -Wno-reorder -Wno-conversion-null -Wno-delete-non-virtual-dtor -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -DUNICODE -D_UNICODE -DWIN32 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -D_WINDOWS -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE -D_HAS_EXCEPTIONS=0 -DNOMINMAX -DWIN32_LEAN_AND_MEAN=1 -DANGLE_ENABLE_D3D11 -DANGLE_DEFAULT_D3D11=1 -DNDEBUG -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DLIBANGLE_IMPLEMENTATION -DLIBGLESV2_IMPLEMENTATION -DGL_APICALL= -DGL_GLEXT_PROTOTYPES= -DEGLAPI= -DANGLE_ENABLE_D3D9 -DANGLE_SKIP_DXGI_1_2_CHECK -DANGLE_D3D11_QDTD_AVAILABLE -DQT_NO_DYNAMIC_CAST -I. -I. -I.. -Ic:/0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0/qtbase/src/angle/src/../include -I..\..\..\3rdparty\angle\src -I..\..\..\3rdparty\angle\include -I..\..\src -I..\..\..\3rdparty\angle\src\libANGLE -I..\..\..\..\mkspecs\win32-g++  -o .obj\release\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0\qtbase\src\3rdparty\angle\src\libANGLE\renderer\d3d\d3d11\internal_format_initializer_table.o ..\..\..\3rdparty\angle\src\libANGLE\renderer\d3d\d3d11\internal_format_initializer_table.cpp
      Assembler messages:
      Fatal error: can't create .obj\release\0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0\qtbase\src\3rdparty\angle\src\libANGLE\renderer\d3d\d3d11\internal_format_initializer_table.o: No such file or directory
      mingw32-make[6]: *** [Makefile.Release:5789: .obj/release/0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0/qtbase/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/internal_format_initializer_table.o] Error 1
      mingw32-make[6]: Leaving directory 'c:/0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0/qtbase/src/angle/src/libGLESv2'
      mingw32-make[5]: *** [Makefile:36: release] Error 2
      mingw32-make[5]: Leaving directory 'c:/0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0/qtbase/src/angle/src/libGLESv2'
      mingw32-make[4]: *** [Makefile:86: sub-libGLESv2-make_first-ordered] Error 2
      mingw32-make[4]: Leaving directory 'c:/0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0/qtbase/src/angle/src'
      mingw32-make[3]: *** [Makefile:41: sub-src-make_first] Error 2
      mingw32-make[3]: Leaving directory 'c:/0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0/qtbase/src/angle'
      mingw32-make[2]: *** [Makefile:526: sub-angle-make_first] Error 2
      mingw32-make[2]: Leaving directory 'c:/0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0/qtbase/src'
      mingw32-make[1]: *** [Makefile:45: sub-src-make_first] Error 2
      mingw32-make[1]: Leaving directory 'c:/0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0/qtbase'
      mingw32-make: *** [Makefile:81: module-qtbase-make_first] Error 2
      

      Best,

      Alexander

       

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              kkohne Kai Köhne
              sav sav
              Votes:
              4 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes