sudo dnf install /usr/bin/qmake
sudo dnf install inkscape qt6-qtbase-devel qt6-qtsvg-devel wxsvg wxsvg-devel
cd /home/jkalliau/Documents/GitHub/resvg-test-suite/tools/vdiff
cd ../chrome-svgrender
npm i puppeteer
cd ../qtsvgrender
qmake
make #returns `make: Nothing to be done for 'first'.`
cd ../wxsvgrender
qmake
make #returns `fatal error: wx/wx.h: No such file or directory`
./build #returns `fatal error: wx/wx.h: No such file or directory`
cd ../vdiff
qmake
make # that is the problematic step
the last make-command returns:
g++ -c -pipe -O2 -Wall -Wextra -D_REENTRANT -fPIC -DSRCDIR=\"/home/jkalliau/Documents/GitHub/resvg-test-suite/tools/vdiff/\" -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I. -I/usr/include/qt6 -I/usr/include/qt6/QtWidgets -I/usr/include/qt6/QtGui -I/usr/include/qt6/QtConcurrent -I/usr/include/qt6/QtSql -I/usr/include/qt6/QtCore -I. -I. -I/../lib64/qt6/mkspecs/linux-g++ -o tests.o src/tests.cpp
src/tests.cpp:12:37: error: ‘QStringRef’ does not name a type; did you mean ‘QStringView’?
12 | static TestState stateFormStr(const QStringRef &str)
| ^~~~~~~~~~
| QStringView
src/tests.cpp: In function ‘TestState stateFormStr(const int&)’:
src/tests.cpp:15:25: error: request for member ‘toInt’ in ‘str’, which is of non-class type ‘const int’
15 | const int idx = str.toInt(&ok);
| ^~~~~
src/tests.cpp:18:57: error: request for member ‘toString’ in ‘str’, which is of non-class type ‘const int’
18 | throw QString("Invalid state ID: '%1'").arg(str.toString());
| ^~~~~~~~
src/tests.cpp: In function ‘QString parseTitle(const QString&)’:
src/tests.cpp:43:34: error: conversion from ‘const char [6]’ to ‘QChar’ is ambiguous
43 | if (reader.name() == "title") {
| ^~~~~~~
In file included from /usr/include/qt6/QtCore/qstring.h:50,
from /usr/include/qt6/QtCore/qobject.h:47,
from /usr/include/qt6/QtCore/qiodevice.h:46,
from /usr/include/qt6/QtCore/qfiledevice.h:43,
from /usr/include/qt6/QtCore/qfile.h:44,
from /usr/include/qt6/QtCore/QFile:1,
from src/tests.cpp:1:
/usr/include/qt6/QtCore/qchar.h:125:45: note: candidate: ‘constexpr QChar::QChar(char)’ (near match)
125 | QT_ASCII_CAST_WARN constexpr Q_IMPLICIT QChar(char c) noexcept : ucs(uchar(c)) { }
| ^~~~~
/usr/include/qt6/QtCore/qchar.h:125:45: note: conversion of argument 1 would be ill-formed:
src/tests.cpp:43:34: error: invalid conversion from ‘const char*’ to ‘char’ [-fpermissive]
43 | if (reader.name() == "title") {
| ^~~~~~~
| |
| const char*
In file included from /usr/include/qt6/QtCore/qstring.h:50,
from /usr/include/qt6/QtCore/qobject.h:47,
from /usr/include/qt6/QtCore/qiodevice.h:46,
from /usr/include/qt6/QtCore/qfiledevice.h:43,
from /usr/include/qt6/QtCore/qfile.h:44,
from /usr/include/qt6/QtCore/QFile:1,
from src/tests.cpp:1:
/usr/include/qt6/QtCore/qchar.h:118:26: note: candidate: ‘constexpr QChar::QChar(char16_t)’ (near match)
118 | constexpr Q_IMPLICIT QChar(char16_t ch) noexcept : ucs(ch) {}
| ^~~~~
/usr/include/qt6/QtCore/qchar.h:118:26: note: conversion of argument 1 would be ill-formed:
src/tests.cpp:43:34: error: invalid conversion from ‘const char*’ to ‘char16_t’ [-fpermissive]
43 | if (reader.name() == "title") {
| ^~~~~~~
| |
| const char*
In file included from /usr/include/qt6/QtCore/qstring.h:50,
from /usr/include/qt6/QtCore/qobject.h:47,
from /usr/include/qt6/QtCore/qiodevice.h:46,
from /usr/include/qt6/QtCore/qfiledevice.h:43,
from /usr/include/qt6/QtCore/qfile.h:44,
from /usr/include/qt6/QtCore/QFile:1,
from src/tests.cpp:1:
/usr/include/qt6/QtCore/qchar.h:113:26: note: candidate: ‘constexpr QChar::QChar(short int)’ (near match)
113 | constexpr Q_IMPLICIT QChar(short rc) noexcept : ucs(char16_t(rc)) {}
| ^~~~~
/usr/include/qt6/QtCore/qchar.h:113:26: note: conversion of argument 1 would be ill-formed:
src/tests.cpp:43:34: error: invalid conversion from ‘const char*’ to ‘short int’ [-fpermissive]
43 | if (reader.name() == "title") {
| ^~~~~~~
| |
| const char*
In file included from /usr/include/qt6/QtCore/qstring.h:50,
from /usr/include/qt6/QtCore/qobject.h:47,
from /usr/include/qt6/QtCore/qiodevice.h:46,
from /usr/include/qt6/QtCore/qfiledevice.h:43,
from /usr/include/qt6/QtCore/qfile.h:44,
from /usr/include/qt6/QtCore/QFile:1,
from src/tests.cpp:1:
/usr/include/qt6/QtCore/qchar.h:111:26: note: candidate: ‘constexpr QChar::QChar(ushort)’ (near match)
111 | constexpr Q_IMPLICIT QChar(ushort rc) noexcept : ucs(rc) {}
| ^~~~~
/usr/include/qt6/QtCore/qchar.h:111:26: note: conversion of argument 1 would be ill-formed:
src/tests.cpp:43:34: error: invalid conversion from ‘const char*’ to ‘ushort’ {aka ‘short unsigned int’} [-fpermissive]
43 | if (reader.name() == "title") {
| ^~~~~~~
| |
| const char*
In file included from /usr/include/qt6/QtCore/qchar.h:665,
from /usr/include/qt6/QtCore/qstring.h:50,
from /usr/include/qt6/QtCore/qobject.h:47,
from /usr/include/qt6/QtCore/qiodevice.h:46,
from /usr/include/qt6/QtCore/qfiledevice.h:43,
from /usr/include/qt6/QtCore/qfile.h:44,
from /usr/include/qt6/QtCore/QFile:1,
from src/tests.cpp:1:
/usr/include/qt6/QtCore/qstringview.h:412:51: note: initializing argument 2 of ‘bool operator==(QStringView, QChar)’
412 | friend bool operator==(QStringView lhs, QChar rhs) noexcept { return lhs == QStringView(&rhs, 1); }
| ~~~~~~^~~
src/tests.cpp: In static member function ‘static Tests Tests::load(TestSuite, const QString&, const QString&)’:
src/tests.cpp:70:16: error: ‘QStringRef’ does not name a type; did you mean ‘QStringView’?
70 | for (const QStringRef &line : text.splitRef('\n')) {
| ^~~~~~~~~~
| QStringView
src/tests.cpp:110:6: error: expected ‘;’ before ‘return’
110 | }
| ^
| ;
111 |
112 | return tests;
| ~~~~~~
src/tests.cpp:112:5: error: expected primary-expression before ‘return’
112 | return tests;
| ^~~~~~
src/tests.cpp:110:6: error: expected ‘;’ before ‘return’
110 | }
| ^
| ;
111 |
112 | return tests;
| ~~~~~~
src/tests.cpp:112:5: error: expected primary-expression before ‘return’
112 | return tests;
| ^~~~~~
src/tests.cpp:110:6: error: expected ‘)’ before ‘return’
110 | }
| ^
| )
111 |
112 | return tests;
| ~~~~~~
src/tests.cpp:70:9: note: to match this ‘(’
70 | for (const QStringRef &line : text.splitRef('\n')) {
| ^
src/tests.cpp:69:9: warning: unused variable ‘row’ [-Wunused-variable]
69 | int row = 1;
| ^~~
src/tests.cpp:54:35: warning: unused parameter ‘testSuite’ [-Wunused-parameter]
54 | Tests Tests::load(const TestSuite testSuite, const QString &path, const QString &testsPath)
| ~~~~~~~~~~~~~~~~^~~~~~~~~
src/tests.cpp:54:82: warning: unused parameter ‘testsPath’ [-Wunused-parameter]
54 | Tests Tests::load(const TestSuite testSuite, const QString &path, const QString &testsPath)
| ~~~~~~~~~~~~~~~^~~~~~~~~
src/tests.cpp: In static member function ‘static void Tests::resync(const Settings&)’:
src/tests.cpp:199:16: error: ‘QStringRef’ does not name a type; did you mean ‘QStringView’?
199 | for (const QStringRef &line : text.splitRef('\n')) {
| ^~~~~~~~~~
| QStringView
src/tests.cpp:215:6: error: expected ‘;’ before ‘newTests’
215 | }
| ^
| ;
216 |
217 | newTests.save(settings.resultsPath());
| ~~~~~~~~
src/tests.cpp:217:18: error: could not convert ‘newTests.Tests::save(Settings::resultsPath() const())’ from ‘void’ to ‘bool’
217 | newTests.save(settings.resultsPath());
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
| |
| void
src/tests.cpp:218:1: error: expected primary-expression before ‘}’ token
218 | }
| ^
src/tests.cpp:217:43: error: expected ‘)’ before ‘}’ token
217 | newTests.save(settings.resultsPath());
| ^
| )
218 | }
| ~
src/tests.cpp:199:9: note: to match this ‘(’
199 | for (const QStringRef &line : text.splitRef('\n')) {
| ^
src/tests.cpp:218:1: error: expected primary-expression before ‘}’ token
218 | }
| ^
src/tests.cpp: In static member function ‘static Tests Tests::load(TestSuite, const QString&, const QString&)’:
src/tests.cpp:113:1: warning: control reaches end of non-void function [-Wreturn-type]
113 | }
| ^
src/tests.cpp: At global scope:
src/tests.cpp:32:16: warning: ‘QString parseTitle(const QString&)’ defined but not used [-Wunused-function]
32 | static QString parseTitle(const QString &path)
| ^~~~~~~~~~
src/tests.cpp:12:18: warning: ‘TestState stateFormStr(const int&)’ defined but not used [-Wunused-function]
12 | static TestState stateFormStr(const QStringRef &str)
| ^~~~~~~~~~~~
make: *** [Makefile:529: tests.o] Error 1
Device:
Operating System: Fedora 34 (Workstation Edition)
Kernel: Linux 5.12.13-300.fc34.x86_64
$ qmake --version
QMake version 3.1
Using Qt version 6.1.1 in /usr/lib64
$ make --version
GNU Make 4.3
Built for x86_64-redhat-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
According to https://github.com/RazrFalcon/resvg-test-suite/blob/master/tools/vdiff/README.md#dependencies vdiff depends on Qt5, but is Qt6 also supported?
the last
make
-command returns:Device: