Search code examples
qtqt-creatorqtquick2qt-quickqt6

Qt Creator Build Failure - Fails to Clone Repository for New Qt Quick Application


I'm trying to create a new Qt Quick Application in Qt Creator. However, every time I try to build the project, it fails immediately even before doing anything.

/PATH/QMLTest/ds-subbuild/ds-populate-prefix/tmp/ds-populate-gitclone.cmake:39: error: Failed to clone repository:  
'https://code.qt.io/qt-labs/qtquickdesigner-components.git'  
:-1: error: ninja: build stopped: subcommand failed.  
/PATH/QMLTest/CMakeLists.txt:32: error: Build step for ds failed: 1

Call stack:  
  /PATH/QMLTest/CMakeLists.txt:32 (include)  
  /PATH/QMLTest/qmlcomponents:16 (FetchContent_Populate)  
  /opt/homebrew/Cellar/cmake/3.28.3/share/cmake/Modules/FetchContent.cmake:1819 (cmake_language)  
  /opt/homebrew/Cellar/cmake/3.28.3/share/cmake/Modules/FetchContent.cmake:1819:EVAL:2 (__FetchContent_directPopulate)  
  /opt/homebrew/Cellar/cmake/3.28.3/share/cmake/Modules/FetchContent.cmake:1679 (message)  
:-1: error: CMake process exited with exit code 1.  
:-1: error: CMake project configuration failed. No CMake configuration for build type "Debug" found.

It seems to be some problem with cloning the repository https://code.qt.io/qt-labs/qtquickdesigner-components.git, I'm not even able to access it using the browser. I am not sure what to do to fix this issue. Please let me know if you need more information.

This is the terminal build output:

$ cmake -S '/PATH/FirstQML' -B /PATH/Qt/Builds/build-FirstQML-Qt_6_6_1_for_macOS-Debug
-- The CXX compiler identification is AppleClang 15.0.0.15000100
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Building designer components.
[1/9] Creating directories for 'ds-populate'
[1/9] Performing download step (git clone) for 'ds-populate'
Cloning into 'ds-src'...
fatal: unable to access 'https://code.qt.io/qt-labs/qtquickdesigner-components.git/': Failed to connect to code.qt.io port 443 after 75 ms: Couldn't connect to server
Cloning into 'ds-src'...
fatal: unable to access 'https://code.qt.io/qt-labs/qtquickdesigner-components.git/': Failed to connect to code.qt.io port 443 after 74 ms: Couldn't connect to server
Cloning into 'ds-src'...
fatal: unable to access 'https://code.qt.io/qt-labs/qtquickdesigner-components.git/': Failed to connect to code.qt.io port 443 after 73 ms: Couldn't connect to server
-- Had to git clone more than once: 3 times.
CMake Error at ds-subbuild/ds-populate-prefix/tmp/ds-populate-gitclone.cmake:39 (message):
  Failed to clone repository:
  'https://code.qt.io/qt-labs/qtquickdesigner-components.git'


FAILED: ds-populate-prefix/src/ds-populate-stamp/ds-populate-download /PATH/Qt/Builds/build-FirstQML-Qt_6_6_1_for_macOS-Debug/_deps/ds-subbuild/ds-populate-prefix/src/ds-populate-stamp/ds-populate-download 
cd /PATH/Qt/Builds/build-FirstQML-Qt_6_6_1_for_macOS-Debug/_deps && /opt/homebrew/Cellar/cmake/3.28.3/bin/cmake -P /PATH/Qt/Builds/build-FirstQML-Qt_6_6_1_for_macOS-Debug/_deps/ds-subbuild/ds-populate-prefix/tmp/ds-populate-gitclone.cmake && /opt/homebrew/Cellar/cmake/3.28.3/bin/cmake -E touch /PATH/Qt/Builds/build-FirstQML-Qt_6_6_1_for_macOS-Debug/_deps/ds-subbuild/ds-populate-prefix/src/ds-populate-stamp/ds-populate-download
ninja: build stopped: subcommand failed.

CMake Error at /opt/homebrew/Cellar/cmake/3.28.3/share/cmake/Modules/FetchContent.cmake:1679 (message):
  Build step for ds failed: 1
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.28.3/share/cmake/Modules/FetchContent.cmake:1819:EVAL:2 (__FetchContent_directPopulate)
  /opt/homebrew/Cellar/cmake/3.28.3/share/cmake/Modules/FetchContent.cmake:1819 (cmake_language)
  qmlcomponents:16 (FetchContent_Populate)
  CMakeLists.txt:32 (include)


-- Configuring incomplete, errors occurred!

Appreciate any help or tips to help solve this issue. Thanks in advance!


Solution

  • code.qt.io is down today for some unknown reason, but luckily, the default Qt application actually does not depend on it so much. If you switch BUILD_QDS_COMPONENTS option from ON to OFF in your CMakeLists.txt:

    option(BUILD_QDS_COMPONENTS "Build design studio components" OFF)
    

    or for older versions, when it was a cached variable:

    set(BUILD_QDS_COMPONENTS OFF CACHE BOOL "Build design studio components" FORCE)
    

    then it won't try to build and link Design Studio components, but your app will crash in runtime with error:

    module "QtQuick.Studio.Application" is not installed
    

    as it depends on it in imports//Constants.qml, but this dependency seems unused by default, so the app works quite well without it and even launches in Design Studio. To remove the dependency, just remove a few lines in Constants.qml:

    - import QtQuick.Studio.Application
    
    -    property StudioApplication application: StudioApplication {
    -        fontPath: Qt.resolvedUrl("../../content/" + relativeFontDirectory)
    -    }
    

    It should make your app work quite well now, but when the server is up, to avoid this problem in the future, it would be wise to clone the dependent repo from https://code.qt.io/qt-labs/qtquickdesigner-components.git and replace FetchContent_Declare call in /qmlcomponents to make it use the local files instead of fetching from the remote every time you configure your project:

    FetchContent_Declare(
        ds
        SOURCE_DIR "C:/Cloned/Repos/qtquickdesigner-components" # your path to the qtquickdesigner-components repo
    )