Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Jom Error 2 while building sources from qt5.git dev branch



  • Hi,

    I'm currently attempting to build the dev branch of the Qt sources on Windows 10 x64 directly from the official mirror (@SGaist finally doing this) and can't get the process to finish.

    In Git Bash I did

    git clone git://code.qt.io/qt/qt5.git
    cd qt5
    git checkout dev # was already defaulted to this branch
    perl init-repository --module-subset=default,-qtwebengine # configured my SSH settings instead of using --codereview-username
    

    Then in the x64 Native Tools Command Prompt for VS2019 I did

    ..\Qt5_source\configure.bat -developer-build -platform win32-msvc2019 -opensource -confirm-license -skip webengine -nomake tools -nomake examples -nomake tests -optimize-size -no-pch
    %STANDARD_QT_DIR%\Tools\QtCreator\bin\jom -j8
    

    This is a shadow build (the directory in which I'm running the configure and jom commands is a separate directory at the same depth as the directory that I checked out the sources in.

    Python 2.7.x, StrawberyPerl, Ruby, and libclang are all installed and the corresponding directories have been added to my PATH system variable:

    PATH Variable

    After about an hour and a half in the build terminates with the following:

    Creating library C:\Engineering\Development\QtUpstream\Qt5_build\qtbase\plugins\sceneparsers\assimpsceneimport.lib and object C:\Engineering\Development\QtUpstream\Qt5_build\qtbase\plugins\sceneparsers\assimpsceneimport.exp
    jom: C:\Engineering\Development\QtUpstream\Qt5_build\Makefile [module-qttools-make_first] Error 2
    

    I believe I've built the stable source distributions successfully on this machine before, though I can't remember for certain as I have built them on a laptop in the past.

    Anything wrong stand out?


  • Lifetime Qt Champion

    You disabled building tools in your configure options.

    As I said before, start by building only qtbase and then the module you want to hack on.


  • Lifetime Qt Champion

    Hi,

    The error is somewhere else. Try running your build with only one thread. You should get the exact error on the screen this time.



  • Ah, I incorrectly assumed the build process would cache all errors until all threads were stopped after the first one and then display them in order at the end.

    I re-ran it with nmake and its been going for a few hours now. I'll see what the direct error ends up being.


  • Lifetime Qt Champion

    Out of curiosity, what type of machine do you use ?

    Since I see you are doing a developer build, do you plan to hack on Qt ?

    If so, you should rather just build qtbase and the module you want to hack on.



  • I'm doing this to contribute to the source for the issues with some of the widgets I ran into.

    This was the error I got:

            link /NOLOGO /DYNAMICBASE /NXCOMPAT /OPT:REF /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /VERSION:6.0 /MANIFEST:embed /OUT:C:\Engineering\Development\QtUpstream\Qt5_source\qt5build\qtbase\bin\lrelease-pro.exe @C:\Users\Chris\AppData\Local\Temp\nmC72A.tmp
            cd lupdate\ && ( if not exist Makefile C:\Engineering\Development\QtUpstream\Qt5_source\qt5build\qtbase\bin\qmake.exe -o Makefile C:\Engineering\Development\QtUpstream\Qt5_source\qt5\qttools\src\linguist\lupdate\lupdate.pro ) && "C:\Engineering\Development\Microsoft Visual Studio\2019\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\nmake.exe" -f Makefile
    Project ERROR: Unknown module(s) in QT: tools-private
    NMAKE : fatal error U1077: 'cd' : return code '0x3'
    Stop.
    NMAKE : fatal error U1077: 'cd' : return code '0x2'
    Stop.
    NMAKE : fatal error U1077: 'cd' : return code '0x2'
    Stop.
    NMAKE : fatal error U1077: 'cd' : return code '0x2'
    Stop.
    

    I'm using Windows x64
    Intel 3770K
    8GB DDR3
    Not sure what else exactly what you want to know.

    I guess I could just try to build the widget module but I'm guessing it has a fair number of dependencies.



  • @oblivioncth Really under the whether at the moment so I'm not even looking at this straight (didn't even glance it when I copy pasted it previously) but it looks like its the change directory command in part of the make script is failing? Perhaps the paths end up being too long, I'll try building it at a folder depth of 1. I have long paths enabled but not all programs support that. Having a hard time even finding references to return codes from cd other than 0x0 and 0x1.

    Otherwise, given the main error that causes cd to fail:

    Project ERROR: Unknown module(s) in QT: tools-private
    

    I wonder if its because there's an issue with the configure options I'm using given the current state of the repository (since it is effectively Qt 6 and more likely to be problematic). I know the main dev branch is supposed to contain modules that are known to compile with each other successfully, but there could still fringe issues with particular configurations and/or environments I'm sure given its developmental nature.

    Perhaps -nomake tools is related?


  • Lifetime Qt Champion

    You disabled building tools in your configure options.

    As I said before, start by building only qtbase and then the module you want to hack on.



  • @SGaist

    Edited my post just before this to highlight that. I'll try out only doing the minimum modules required since that should suffice.

    Didn't realize exactly what you mean't at first as the terminology between this (what you meant):
    https://code.qt.io/cgit/qt/qt5.git/tree/.gitmodules

    and this:
    https://doc.qt.io/qt-5/qtmodules.html

    are slightly overlapped. For what I'm doing I may only need qtbase.

    Thanks.



  • The build was quick and successful with

    jom -j 8 module-qtbase
    

    while normally I haven't had issues skipping the tools with the stable sources I'm guess I'd have needed to change the options passed to init-repository (in addition to -nomake tools) in this case for it to be able to build all modules correctly.

    I was able to confirm a simple test project using the widgets I need to edit builds and runs correctly after adding the 6.0 build in a kit to Qt Creator.

    I'll get to fixing QLineEdit and QProgressDialog when I can think straight again.

    Thanks for dealing with my temporary obliviousness.


Log in to reply