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

errors compiling ANGLE library

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.0.1
    • 5.0.0
    • Build tools: qmake
    • None
    • windows 7, msvc2012 (both x64 & x86)
    • f4065db172f11b751af03c04a21bd0b4097d1779

    Description

      While building the ANGLE library, the Makefiles produced by QMake for the compiler (translator_common / translator_hlsl) appear to clobber one another making it where only translator_hlsl.lib is generated and the build process errors out with:

      NMAKE : fatal error U1073: don't know how to make 'C:\Dev\qt\qt_5\qt5\qtbase\lib\translator_commond.lib'
      Stop.
      NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0
      \VC\BIN\nmake.exe"' : return code '0x2'
      Stop.
      NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0
      \VC\BIN\nmake.exe"' : return code '0x2'
      Stop.
      NMAKE : fatal error U1077: 'cd' : return code '0x2'
      Stop.
      NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0
      \VC\BIN\nmake.exe"' : return code '0x2'
      Stop.
      NMAKE : fatal error U1077: 'cd' : return code '0x2'
      Stop.
      NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0
      \VC\BIN\nmake.exe"' : return code '0x2'
      Stop.
      

      Reviewing the Makefile's in qtbase\src\angle\src\compiler shows that only a target for translator_hlsl is created. Running QMake -f over the translator_common.pro file creates a Makefile that will built translator_common.lib (thereby overwriting the Makefile that builds translator_hlsl.lib).

      Then, after 'fixing' this and attempting to continue building, I am met with the following error:

              (set "PATH=C:\Dev\qt\qt_5\qt5\qtbase\src\angle\src\..\..\..\..\gnuwin32\
      bin;%PATH%") && bison --no-lines --skeleton=yacc.c --defines=glslang_tab.h --out
      put=glslang_tab.cpp ..\..\..\3rdparty\angle\src\compiler\glslang.y
      \Git\bin"") was unexpected at this time.
      NMAKE : fatal error U1077: '(set' : return code '0x1'
      Stop.
      NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0
      \VC\BIN\nmake.exe"' : return code '0x2'
      Stop.
      

      This is the result of the (set PATH=...), removing the brackets from set and moving the bison/flex/etc lines onto their own line fixes the problem and allows for the library and QT to be build.

      In other words, in order to build QT I build ANGLE first, letting it create the translator_hlsl.lib and failing while building another lib in ANGLE. Once this occurs, I run qmake on the translator_common.pro file and edit all of the lines akin to:

      (set "PATH=C:\Dev\qt\qt_5\qt5\qtbase\src\angle\src\..\..\..\..\gnuwin32\bin;%PATH%") && win_flex --noline --nounistd --outfile=glslang_lex.cpp ..\..\..\3rdparty\angle\src\compiler\glslang.l
      

      to:

      set "PATH=C:\Dev\qt\qt_5\qt5\qtbase\src\angle\src\..\..\..\..\gnuwin32\bin;%PATH%" 
      win_flex --noline --nounistd --outfile=glslang_lex.cpp ..\..\..\3rdparty\angle\src\compiler\glslang.l
      

      Which has to be done in a few places (id est the preprocessor, etc)

      EXPECTED RESULTS:
      that the build system would create targets for all libraries to be built and do so in a manner that does not create syntax errors.

      Attachments

        For Gerrit Dashboard: QTBUG-28841
        # Subject Branch Project Status CR V

        Activity

          People

            buddenha Oswald Buddenhagen
            jnferguson justin
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes