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

ninja build failure when building 5.12 in directory with "@" at sign in name

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • Not Evaluated
    • None
    • 5.12.5
    • Build System
    • None
    • macOS 10.14.6, iMac Pro, Xcode 10.3
    • macOS

    Description

      The Qt 5.12.5 build fails when I attempt to build it inside a directory that has a "@" (at sign or strudel) in the path name.

      What I did (output omitted):

      $ pwd
      /Users/janke/tmp/qt/qt@5.12
      $ tar xf ../qt-everywhere-src-5.12.5.tar.xz
      $ cd qt-everywhere-src-5.12.5
      $ ./configure -prefix /tmp/test-qt -release -opensource -confirm-license -system-zlib -qt-libpng -qt-libjpeg -qt-freetype -qt-pcre -nomake tests -nomake examples -no-rpath -pkg-config -dbus-runtime -proprietary-codecs
      $ gmake -j 20

       

      Got this error:

       

      gmake[4]: Entering directory '/Users/janke/tmp/qt/qt@5.12/qt-everywhere-src-5.12.5/qtwebengine/src/core'
      /Users/janke/tmp/qt/qt@5.12/qt-everywhere-src-5.12.5/qtwebengine/src/3rdparty/ninja/ninja -v -C /Users/janke/tmp/qt/qt@5.12/qt-everywhere-src-5.12.5/qtwebengine/src/core/release QtWebEngineCore
      ninja: Entering directory `/Users/janke/tmp/qt/qt@5.12/qt-everywhere-src-5.12.5/qtwebengine/src/core/release'
      ninja: error: toolchain.ninja:41622: expected newline, got lexing error
      rule _Users_janke_tmp_qt_qt@5.12_qt-everywhere-src-5.12.5_qtwebengine_sr...
      {{ ^ near here}}
      gmake[4]: *** [Makefile.gn_run:1142: run_ninja] Error 1
      gmake[4]: Leaving directory '/Users/janke/tmp/qt/qt@5.12/qt-everywhere-src-5.12.5/qtwebengine/src/core'
      gmake[3]: *** [Makefile:88: sub-gn_run-pro-make_first] Error 2
      gmake[3]: Leaving directory '/Users/janke/tmp/qt/qt@5.12/qt-everywhere-src-5.12.5/qtwebengine/src/core'
      gmake[2]: *** [Makefile:87: sub-core-make_first] Error 2
      gmake[2]: Leaving directory '/Users/janke/tmp/qt/qt@5.12/qt-everywhere-src-5.12.5/qtwebengine/src'
      gmake[1]: *** [Makefile:55: sub-src-make_first] Error 2
      gmake[1]: Leaving directory '/Users/janke/tmp/qt/qt@5.12/qt-everywhere-src-5.12.5/qtwebengine'
      gmake: *** [Makefile:1038: module-qtwebengine-make_first] Error 2

      Rerunning with non-parallelized make gives me a possibly simpler error message:

      ( test -e Makefile.gn_run || /Users/janke/tmp/Qt/qt@5.12/qt-everywhere-src-5.12.5/qtbase/bin/qmake -o Makefile.gn_run /Users/janke/tmp/qt/qt@5.12/qt-everywhere-src-5.12.5/qtwebengine/src/core/gn_run.pro ) && /Applications/Xcode-10.3.app/Contents/Developer/usr/bin/make -f Makefile.gn_run
      /Users/janke/tmp/qt/qt@5.12/qt-everywhere-src-5.12.5/qtwebengine/src/3rdparty/ninja/ninja -v -C /Users/janke/tmp/qt/qt@5.12/qt-everywhere-src-5.12.5/qtwebengine/src/core/release QtWebEngineCore
      ninja: Entering directory `/Users/janke/tmp/qt/qt@5.12/qt-everywhere-src-5.12.5/qtwebengine/src/core/release'
      ninja: error: toolchain.ninja:41622: expected newline, got lexing error
      rule _Users_janke_tmp_qt_qt@5.12_qt-everywhere-src-5.12.5_qtwebengine_sr...
      {{ ^ near here}}
      make[4]: *** [run_ninja] Error 1
      make[3]: *** [sub-gn_run-pro-make_first] Error 2
      make[2]: *** [sub-core-make_first] Error 2
      make[1]: *** [sub-src-make_first] Error 2
      make: *** [module-qtwebengine-make_first] Error 2

      This is an inconvenience because Homebrew uses the "@" sign in versioned formula names, in form "<package>@<version>", and the formula name is used as one of the path name elements in the temporary directory under which the build is done. Thus, if you try to make a versioned "qt@5.12" or similar formula, its build will fail. It would be nice to be able to define versioned Qt formulae using Homebrew's naming convention.

      This is on macOS 10.14.6, but it may affect other platforms as well.

      Possibly related to https://bugreports.qt.io/browse/QTBUG-58942.

      Attachments

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

        Activity

          People

            qtbuildsystem Qt Build System Team
            apjanke Andrew Janke
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes