Wireshark-dev: Re: [Wireshark-dev] Version of Qt required?

From: Martin Mathieson <martin.r.mathieson@xxxxxxxxxxxxxx>
Date: Tue, 7 Jul 2020 15:39:13 +0100
My tailing-edge Leap 42.3 VM seems to be stuck on 5.6

The main check in CMakeLists.txt appears to be this:

        if (Qt5Widgets_VERSION VERSION_LESS 5.3)
                message(FATAL_ERROR "Qt 5.3 or later is required.")
        endif()
        if (Qt5Widgets_VERSION VERSION_GREATER 5.6
            AND (CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang"))
                # Qt 5.7 and later require C++ 11.
                set(CMAKE_CXX_STANDARD 11)
                set(CMAKE_CXX_STANDARD_REQUIRED ON)
        endif()

There are some other platform-specific checks (Mac).

I don't know what else goes into the decision to move the Qt version required onwards - if it moves forward I will create a new VM.
Martin



On Tue, Jul 7, 2020 at 3:30 PM John Thacker <johnthacker@xxxxxxxxx> wrote:
Ah, sorry, that is the result of my recent change. I had checked here


which says that 5.9 and 5.12 had already been required by Wireshark 3.0 and 3.2 so I went ahead and used it.

Does it actually compile and work on 5.6 except for that change?

QT 5.6 is a long term support release and there are some distributions stuck on it. I can change my recent commit if we don't want to bump the required version.

John

On Tue, Jul 7, 2020, 9:15 AM Martin Mathieson via Wireshark-dev <wireshark-dev@xxxxxxxxxxxxx> wrote:
In a VM where I build Wireshark, I am getting this error on master:

/home/martin/wireshark/ui/qt/follow_stream_dialog.cpp: In member function ‘void FollowStreamDialog::addCodecs(const QMap<QString, QTextCodec*>&)’:
/home/martin/wireshark/ui/qt/follow_stream_dialog.cpp:164:47: error: ‘qAsConst’ was not declared in this scope
     for (const auto &codec : qAsConst(codecMap)) {
                                               ^
ui/qt/CMakeFiles/qtui.dir/build.make:1015: recipe for target 'ui/qt/CMakeFiles/qtui.dir/follow_stream_dialog.cpp.o' failed
make[2]: *** [ui/qt/CMakeFiles/qtui.dir/follow_stream_dialog.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....

My installed version of Qt appears to be 5.6.2.

Looking at CMakeLists.txt, there are various checks for Qt5Widgets, but the earliest supported version looks like 5.3?

I think  https://doc.qt.io/qt-5/qtglobal.html#qAsConst  was introduced in 5.7.
Do we want to bump the minimum versions?

Martin 


___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe