Menu

#1585 build fails with 20.06 and qt5 >= 5.15

None
closed
None
1
2020-06-09
2020-06-04
David Runge
No

Hi! I package rosegarden for Arch Linux.
When building 20.06 I am running into the following problem during build:

[ 23%] Building CXX object src/CMakeFiles/rosegardenprivate.dir/gui/editors/guitar/FingeringListBoxItem.cpp.o
cd /build/rosegarden/src/rosegarden-20.06/build/src && /usr/bin/c++  -DBUILD_DEBUG -DDEBUG -DHAVE_ALSA -DHAVE_LIBJACK -DHAVE_LIBSNDFILE -DHAVE_LIRC -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_URL_CAST_FROM_STRING -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -DROSEGARDENP
RIVATE_LIB_MAKEDLL -DSTABLE -DWANT_TIMING -Drosegardenprivate_EXPORTS -I/build/rosegarden/src/rosegarden-20.06/build/src -I/build/rosegarden/src/rosegarden-20.06/src -I/build/rosegarden/src/rosegarden-20.06/build/src/rosegardenprivate_autogen/include -I/usr/include/raptor2 -isystem /usr/include/qt -isystem /usr/includ
e/qt/QtCore -isystem /usr/lib/qt/mkspecs/linux-g++ -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtPrintSupport -isystem /usr/include/qt/QtXml -isystem /usr/include/qt/QtNetwork  -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wall -Woverloaded-virtual
-Wextra -Wformat-nonliteral -Wformat-security -Winit-self -Wswitch-enum -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -W -Wpointer-arith -fno-check-new -fno-common  -fvisibility=hidden -Wsuggest-override -fPIC   -fPIC -std=gnu++11 -o CMakeFiles/rosegardenprivate.dir/gui/editors/guitar/
FingeringListBoxItem.cpp.o -c /build/rosegarden/src/rosegarden-20.06/src/gui/editors/guitar/FingeringListBoxItem.cpp
/build/rosegarden/src/rosegarden-20.06/src/gui/widgets/Panner.cpp: In member function virtual void Rosegarden::Panner::paintEvent(QPaintEvent*):
/build/rosegarden/src/rosegarden-20.06/src/gui/widgets/Panner.cpp:138:18: error: aggregate QPainterPath path has incomplete type and cannot be defined
  138 |     QPainterPath path;
      |                  ^~~~

The full build output can be found in attachment.

I'm building with

  • gcc 10.1.0
  • cmake 3.17.3
  • qt5-base 5.15.0
  • qt5-tools 5.15.0

If you require more specific information, please do let me know!

1 Attachments

Related

Patches: #72

Discussion

  • David Runge

    David Runge - 2020-06-04

    Hm, I tried to have the includes available with the following patch:

    diff -ruN a/src/gui/general/ThornStyle.h b/src/gui/general/ThornStyle.h
    --- a/src/gui/general/ThornStyle.h  2020-06-04 04:06:46.000000000 +0200
    +++ b/src/gui/general/ThornStyle.h  2020-06-04 21:34:41.747850131 +0200
    @@ -20,6 +20,7 @@
    
     #include "IconLoader.h"
    
    +#include <QtGui/qpainterpath.h>
     #include <QProxyStyle>
     #include <QIcon>
     #include <rosegardenprivate_export.h>
    diff -ruN a/src/gui/widgets/Panner.h b/src/gui/widgets/Panner.h
    --- a/src/gui/widgets/Panner.h  2020-06-04 04:06:46.000000000 +0200
    +++ b/src/gui/widgets/Panner.h  2020-06-04 21:29:37.847175422 +0200
    @@ -18,6 +18,7 @@
     #ifndef RG_PANNER_H
     #define RG_PANNER_H
    
    +#include <QtGui/qpainterpath.h>
     #include <QGraphicsView>
    
     namespace Rosegarden
    

    This way the build succeeds, but now all tests fail:

    make: Entering directory '/build/rosegarden/src/rosegarden-20.06/build'
    Running tests...
    Test project /build/rosegarden/src/rosegarden-20.06/build
        Start 1: realtime
    1/9 Test #1: realtime .........................Child aborted***Exception:   0.44 sec
        Start 2: accidentals
    2/9 Test #2: accidentals ......................Child aborted***Exception:   0.47 sec
        Start 3: segmenttransposecommand
    3/9 Test #3: segmenttransposecommand ..........Child aborted***Exception:   0.42 sec
        Start 4: test_notationview_selection
    4/9 Test #4: test_notationview_selection ......Child aborted***Exception:   0.41 sec
        Start 5: transpose
    5/9 Test #5: transpose ........................Child aborted***Exception:   0.44 sec
        Start 6: reference_segment
    6/9 Test #6: reference_segment ................Child aborted***Exception:   0.41 sec
        Start 7: utf8
    7/9 Test #7: utf8 .............................Child aborted***Exception:   0.41 sec
        Start 8: testmisc
    8/9 Test #8: testmisc .........................Child aborted***Exception:   0.45 sec
        Start 9: lilypond_export_test
    9/9 Test #9: lilypond_export_test .............Child aborted***Exception:   0.44 sec
    
    0% tests passed, 9 tests failed out of 9
    
    Total Test time (real) =   3.91 sec
    
    The following tests FAILED:
              1 - realtime (Child aborted)
              2 - accidentals (Child aborted)
              3 - segmenttransposecommand (Child aborted)
              4 - test_notationview_selection (Child aborted)
              5 - transpose (Child aborted)
              6 - reference_segment (Child aborted)
              7 - utf8 (Child aborted)
              8 - testmisc (Child aborted)
              9 - lilypond_export_test (Child aborted)
    Errors while running CTest
    make: *** [Makefile:150: test] Error 8
    make: Leaving directory '/build/rosegarden/src/rosegarden-20.06/build'
    
     
  • Ted Felix

    Ted Felix - 2020-06-05

    Can you test the attached patch against the original source? Thanks.

     
  • Ted Felix

    Ted Felix - 2020-06-05
    • assigned_to: Ted Felix
     
  • David Runge

    David Runge - 2020-06-05

    @tedfelix thanks for the reply.

    Your attached patch still breaks the build (the panner stuff is built before the thornstyle things):

    [ 23%] Building CXX object src/CMakeFiles/rosegardenprivate.dir/gui/editors/pitchtracker/PitchTrackerView.cpp.o
    cd /build/rosegarden/src/rosegarden-20.06/build/src && /usr/bin/c++  -DBUILD_DEBUG -DDEBUG -DHAVE_ALSA -DHAVE_LIBJACK -DHAVE_LIBSNDFILE -DHAVE_LIRC -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_URL_CAST_FROM_STRING -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -DROSEGARDENP
    RIVATE_LIB_MAKEDLL -DSTABLE -DWANT_TIMING -Drosegardenprivate_EXPORTS -I/build/rosegarden/src/rosegarden-20.06/build/src -I/build/rosegarden/src/rosegarden-20.06/src -I/build/rosegarden/src/rosegarden-20.06/build/src/rosegardenprivate_autogen/include -I/usr/include/raptor2 -isystem /usr/include/qt -isystem /usr/includ
    e/qt/QtCore -isystem /usr/lib/qt/mkspecs/linux-g++ -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtPrintSupport -isystem /usr/include/qt/QtXml -isystem /usr/include/qt/QtNetwork  -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wall -Woverloaded-virtual
    -Wextra -Wformat-nonliteral -Wformat-security -Winit-self -Wswitch-enum -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -W -Wpointer-arith -fno-check-new -fno-common -Werror=return-type -fvisibility=hidden -Wsuggest-override -fPIC   -fPIC -std=gnu++11 -o CMakeFiles/rosegardenprivate.dir/
    gui/editors/pitchtracker/PitchTrackerView.cpp.o -c /build/rosegarden/src/rosegarden-20.06/src/gui/editors/pitchtracker/PitchTrackerView.cpp
    /build/rosegarden/src/rosegarden-20.06/src/gui/widgets/Panner.cpp: In member function virtual void Rosegarden::Panner::paintEvent(QPaintEvent*):
    /build/rosegarden/src/rosegarden-20.06/src/gui/widgets/Panner.cpp:138:18: error: aggregate QPainterPath path has incomplete type and cannot be defined
      138 |     QPainterPath path;
          |                  ^~~~
    

    For the record: My above mentioned patch works, breaks all the tests, but seems to lead to a functioning rosegarden!

     
    • Ted Felix

      Ted Felix - 2020-06-05

      Thanks for testing. I missed the original post which shows the issue in Panner. Attached is my second attempt at cleaning up the affected files, Panner and ThornStyle. Please test and let me know how it goes. Will be interesting to see if this fixes the tests. Thanks.

       
  • David Runge

    David Runge - 2020-06-05

    @tedfelix no problem!

    The build succeeds now, but the tests still fail:

    make: Entering directory '/build/rosegarden/src/rosegarden-20.06/build'
    Running tests...
    Test project /build/rosegarden/src/rosegarden-20.06/build
        Start 1: realtime
    1/9 Test #1: realtime .........................Child aborted***Exception:   0.42 sec
        Start 2: accidentals
    2/9 Test #2: accidentals ......................Child aborted***Exception:   0.44 sec
        Start 3: segmenttransposecommand
    3/9 Test #3: segmenttransposecommand ..........Child aborted***Exception:   0.44 sec
        Start 4: test_notationview_selection
    4/9 Test #4: test_notationview_selection ......Child aborted***Exception:   0.42 sec
        Start 5: transpose
    5/9 Test #5: transpose ........................Child aborted***Exception:   0.44 sec
        Start 6: reference_segment
    6/9 Test #6: reference_segment ................Child aborted***Exception:   0.43 sec
        Start 7: utf8
    7/9 Test #7: utf8 .............................Child aborted***Exception:   0.43 sec
        Start 8: testmisc
    8/9 Test #8: testmisc .........................Child aborted***Exception:   0.45 sec
        Start 9: lilypond_export_test
    9/9 Test #9: lilypond_export_test .............Child aborted***Exception:   0.46 sec
    
    0% tests passed, 9 tests failed out of 9
    
    Total Test time (real) =   3.94 sec
    
    The following tests FAILED:
              1 - realtime (Child aborted)
              2 - accidentals (Child aborted)
              3 - segmenttransposecommand (Child aborted)
              4 - test_notationview_selection (Child aborted)
              5 - transpose (Child aborted)
              6 - reference_segment (Child aborted)
              7 - utf8 (Child aborted)
              8 - testmisc (Child aborted)
              9 - lilypond_export_test (Child aborted)
    Errors while running CTest
    make: *** [Makefile:150: test] Error 8
    make: Leaving directory '/build/rosegarden/src/rosegarden-20.06/build'
    
     
  • David Runge

    David Runge - 2020-06-05

    Oh... I think I now need to run it via xfvb-run to make it work!
    See test log in attachment.

     
  • David Runge

    David Runge - 2020-06-05

    Okay, using xvfb-run makes most of the tests pass.
    There's still a last one that is related to XDG_RUNTIME_DIR not being set and defaulting to some non-existing path by default:

    make: Entering directory '/build/rosegarden/src/rosegarden-20.06/build'
    Running tests...
    /usr/bin/ctest --force-new-ctest-process
    Test project /build/rosegarden/src/rosegarden-20.06/build
        Start 1: realtime
    1/9 Test #1: realtime .........................   Passed    0.07 sec
        Start 2: accidentals
    2/9 Test #2: accidentals ......................   Passed    0.07 sec
        Start 3: segmenttransposecommand
    3/9 Test #3: segmenttransposecommand ..........   Passed    0.06 sec
        Start 4: test_notationview_selection
    4/9 Test #4: test_notationview_selection ......Child aborted***Exception:   0.44 sec
        Start 5: transpose
    5/9 Test #5: transpose ........................   Passed    0.06 sec
        Start 6: reference_segment
    6/9 Test #6: reference_segment ................   Passed    0.06 sec
        Start 7: utf8
    7/9 Test #7: utf8 .............................   Passed    0.06 sec
        Start 8: testmisc
    8/9 Test #8: testmisc .........................   Passed    0.27 sec
        Start 9: lilypond_export_test
    9/9 Test #9: lilypond_export_test .............   Passed    3.44 sec
    
    89% tests passed, 1 tests failed out of 9
    
    Total Test time (real) =   4.56 sec
    
    The following tests FAILED:
              4 - test_notationview_selection (Child aborted)
    Errors while running CTest
    make: *** [Makefile:150: test] Error 8
    make: Leaving directory '/build/rosegarden/src/rosegarden-20.06/build'
    

    These seem to be quite recent changes.

     
  • David Runge

    David Runge - 2020-06-05

    The directory permissions for XDG_RUNTIME_DIR seem very strict (i.e. has to be 7700, else the test fails before even running).

    However, even after

    mkdir -p test
    chmod 700 test
    export XDG_RUNTIME_DIR="${PWD}/test"
    

    and then running the tests, the TestNotationViewSelection test fails (see attachment).

    Any hints? :)

     
  • David Runge

    David Runge - 2020-06-08

    Anyhow, the build succeeds so I will skip this last failing test somehow and push the new version.
    Thanks!

     
  • Ted Felix

    Ted Felix - 2020-06-09

    Sorry, yeah. I didn't even know there was something like xvfb. From the output my only guess is that something about xvfb makes it not 100% compatible. If you run it on a desktop it should test out fine.

     
  • Ted Felix

    Ted Felix - 2020-06-09
    • status: open --> closed
     

Log in to post a comment.

MongoDB Logo MongoDB