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

ubuntu-24.04-x86-static-qtlite build fails with Qt SVG

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P0: Blocker
    • 6.9.0 FF
    • 6.9.0 FF
    • SVG Support
    • None
    • Linux/X11
    • 1b1e2b072 (dev)

    Description

      It seems -static-qtlite build isn't part of Qt SVG CI but it is part of Qt Declarative. And now building Qt SVG dependency during Qt Declarative build fails:

      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp: In function ‘void parseCssAnimations(QSvgNode*, const QSvgAttributes&, QSvgHandler*)’:
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2474:5: error: ‘QCss’ has not been declared
       2474 |     QCss::StyleSelector::NodePtr cssNode;
            |     ^~~~
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2475:5: error: ‘cssNode’ was not declared in this scope
       2475 |     cssNode.ptr = node;
            |     ^~~~~~~
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2476:5: error: ‘QCss’ has not been declared
       2476 |     QCss::AnimationRule rule = handler->selector()->animationsForNode(cssNode);
            |     ^~~~
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2485:10: error: ‘QCss’ has not been declared
       2485 |     for (QCss::AnimationRule::AnimationRuleSet ruleSet : rule.ruleSets) {
            |          ^~~~
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2497:12: error: expected initializer before ‘;’ token
       2497 |     bool ok;
            |            ^
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2498:5: error: expected primary-expression before ‘int’
       2498 |     int duration = parseClockValue(attributes.animationDuration, &ok);
            |     ^~~
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2497:13: error: expected ‘)’ before ‘int’
       2497 |     bool ok;
            |             ^
            |             )
       2498 |     int duration = parseClockValue(attributes.animationDuration, &ok);
            |     ~~~      
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2485:9: note: to match this ‘(’
       2485 |     for (QCss::AnimationRule::AnimationRuleSet ruleSet : rule.ruleSets) {
            |         ^
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2498:9: warning: unused variable ‘duration’ [-Wunused-variable]
       2498 |     int duration = parseClockValue(attributes.animationDuration, &ok);
            |         ^~~~~~~~
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2499:61: error: ‘ok’ was not declared in this scope
       2499 |     int delay = parseClockValue(attributes.animationDelay, &ok);
            |                                                             ^~
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2516:33: error: ‘duration’ was not declared in this scope; did you mean ‘std::chrono::duration’?
       2516 |     anim->setRunningTime(delay, duration);
            |                                 ^~~~~~~~
            |                                 std::chrono::duration
      In file included from /usr/include/c++/13/chrono:41,
                       from /home/qt/work/install/include/QtCore/qobject.h:24,
                       from /home/qt/work/install/include/QtCore/qiodevice.h:10,
                       from /home/qt/work/install/include/QtCore/qxmlstream.h:7,
                       from /home/qt/work/qt/qtsvg/src/svg/qsvghandler_p.h:18,
                       from /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:6:
      /usr/include/c++/13/bits/chrono.h:62:13: note: ‘std::chrono::duration’ declared here
         62 |       class duration;
            |             ^~~~~~~~
      Sccache command failed, re-try calling build tool directly
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp: In function ‘void parseCssAnimations(QSvgNode*, const QSvgAttributes&, QSvgHandler*)’:
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2474:5: error: ‘QCss’ has not been declared
       2474 |     QCss::StyleSelector::NodePtr cssNode;
            |     ^~~~
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2475:5: error: ‘cssNode’ was not declared in this scope
       2475 |     cssNode.ptr = node;
            |     ^~~~~~~
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2476:5: error: ‘QCss’ has not been declared
       2476 |     QCss::AnimationRule rule = handler->selector()->animationsForNode(cssNode);
            |     ^~~~
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2485:10: error: ‘QCss’ has not been declared
       2485 |     for (QCss::AnimationRule::AnimationRuleSet ruleSet : rule.ruleSets) {
            |          ^~~~
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2497:12: error: expected initializer before ‘;’ token
       2497 |     bool ok;
            |            ^
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2498:5: error: expected primary-expression before ‘int’
       2498 |     int duration = parseClockValue(attributes.animationDuration, &ok);
            |     ^~~
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2497:13: error: expected ‘)’ before ‘int’
       2497 |     bool ok;
            |             ^
            |             )
       2498 |     int duration = parseClockValue(attributes.animationDuration, &ok);
            |     ~~~      
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2485:9: note: to match this ‘(’
       2485 |     for (QCss::AnimationRule::AnimationRuleSet ruleSet : rule.ruleSets) {
            |         ^
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2498:9: warning: unused variable ‘duration’ [-Wunused-variable]
       2498 |     int duration = parseClockValue(attributes.animationDuration, &ok);
            |         ^~~~~~~~
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2499:61: error: ‘ok’ was not declared in this scope
       2499 |     int delay = parseClockValue(attributes.animationDelay, &ok);
            |                                                             ^~
      /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:2516:33: error: ‘duration’ was not declared in this scope; did you mean ‘std::chrono::duration’?
       2516 |     anim->setRunningTime(delay, duration);
            |                                 ^~~~~~~~
            |                                 std::chrono::duration
      In file included from /usr/include/c++/13/chrono:41,
                       from /home/qt/work/install/include/QtCore/qobject.h:24,
                       from /home/qt/work/install/include/QtCore/qiodevice.h:10,
                       from /home/qt/work/install/include/QtCore/qxmlstream.h:7,
                       from /home/qt/work/qt/qtsvg/src/svg/qsvghandler_p.h:18,
                       from /home/qt/work/qt/qtsvg/src/svg/qsvghandler.cpp:6:
      /usr/include/c++/13/bits/chrono.h:62:13: note: ‘std::chrono::duration’ declared here
         62 |       class duration;
            |             ^~~~~~~~
      ninja: build stopped: subcommand failed.
      Process finished with error: exit status 1
      

      Build log: https://testresults.qt.io/logs/qt/qtsvg/42f1df6da7a0ebd4e44ad754e50b500d0c15d811/LinuxUbuntu_24_04x86_64LinuxUbuntu_24_04x86_64GCCqtci-linux-Ubuntu-24.04-x86_64-51-12ad58DoNotCompileTestsDuringBuild_MinimalStaticTests_Sccache_UseConfigure/eff5a9568505a40a024fbcddd5ea4c35da5dc250/build_1731687207/log.txt.gz

      Details: https://testresults.qt.io/coin/integration/qt/qtdeclarative/tasks/1731687082

      Tested changes (refs/builds/qtci/dev/1731687079):
      https://codereview.qt-project.org/c/qt/qtdeclarative/+/604523/2 Update dependencies on 'dev' in qt/qtdeclarative
      https://codereview.qt-project.org/c/qt/qtdeclarative/+/603020/1 QtQml: Adjust to changed metatype flags calculation

      Attachments

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

        Activity

          People

            hatemelkharashy Hatem ElKharashy
            janihe Jani Heikkinen
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes