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

Maintenance Tool update fails due to sdktool.exe call



  • Hi, I am trying to update to 5.15.2 on a Win10-64 machine (from 15.0). When trying to install component

    qt.qt5.5152.win64_mingw81
    

    I get an installation error:

    Execution failed (Unexpected exit code 2): "C:\Qt\/Tools/QtCreator\bin\sdktool.exe addKit --id qt.qt5.5152.win64_mingw81_kit --name Desktop Qt % {Qt:Version} MinGW 64-bit --Ctoolchain .gcc --Cxxtoolchain .g++ --qt qt.qt5.5152.win64_mingw81 --debuggerid --devicetype Desktop"
    

    What I've tried so far:

    • I've checked the path: it seems to be ok, the "\/" part shouldn't make a problem.

    • I have manually granted full access/write permissions to everyone for the entire tools folder.

    • I have opened a command line (normal and elevated and tried to manually enter the command. I'll go into details for the latter:

    sdktool.exe addKit --id qt.qt5.5152.win64_mingw81_kit --name Desktop Qt % {Qt:Version} MinGW 64-bit --Ctoolchain .gcc --Cxxtoolchain .g++ --qt qt.qt5.5152.win64_mingw81 --debuggerid --devicetype Desktop
    

    gives me "Argument parsing failed". So I've put the "Desktop Qt % {Qt:Version} MinGW 64-bit" part in quotation marks. Same error message.
    I've noticed there is no argument for --debuggerid, so I left that out:

    sdktool.exe addKit --id qt.qt5.5152.win64_mingw81_kit --name Desktop Qt % {Qt:Version} MinGW 64-bit --Ctoolchain .gcc --Cxxtoolchain .g++ --qt qt.qt5.5152.win64_mingw81 --devicetype Desktop
    

    Again: "Argument parsing failed"
    Combining both (quotation marks and leaving --debuggerid out:

    sdktool.exe addKit --id qt.qt5.5152.win64_mingw81_kit --name "Desktop Qt % {Qt:Version} MinGW 64-bit" --Ctoolchain .gcc --Cxxtoolchain .g++ --qt qt.qt5.5152.win64_mingw81 --devicetype Desktop
    

    gives a different error message:

    Toolchain .gcc for language C does not exist.
    

    Any ideas how to solve this?



  • This code shows that there has to be a debugger-id.

    @
    if (current == "--debuggerid") {
    if (next.isNull())
    return false;
    ++i; // skip next;
    m_debuggerId = next;
    continue;
    }
    @

    So this does seem to be a bug. I'll bring it to the [Interest] list and will report back.


Log in to reply