-
Notifications
You must be signed in to change notification settings - Fork 56
Open
Description
Before building i upgraded every module (including uvw) to the latest version and got this error:
[63/79] Building CXX object src/Qv2rayBase/CMakeFiles/Qv2rayBase.dir/src/private/Plugin/LatencyTestThread_p.cpp.o
FAILED: src/Qv2rayBase/CMakeFiles/Qv2rayBase.dir/src/private/Plugin/LatencyTestThread_p.cpp.o
/usr/bin/c++ -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQV2RAY_BASELIB_VERSION=\"3.0.0.0\" -DQV2RAY_BASELIB_VERSION_MAJOR=3 -DQV2RAY_BASELIB_VERSION_MINOR=0 -DQV2RAY_BASELIB_VERSION_PATCH=0 -DQV2RAY_BASELIB_VERSION_TWEAK=0 -DQV2RAY_DEFAULT_VASSETS_PATH=\"/usr/share/v2ray\" -DQV2RAY_DEFAULT_VCORE_PATH=\"/usr/bin/v2ray\" -DQV2RAY_NO_AUTOUPDATE=1 -DQv2rayBase_EXPORTS -DUVW_AS_LIB -I..../Qv2ray/build/src/Qv2rayBase -I..../Qv2ray/src/Qv2rayBase -I..../Qv2ray/build/src/Qv2rayBase/Qv2rayBase_autogen/include -I..../Qv2ray/src/Qv2rayBase/include -I..../Qv2ray/src/Qv2rayBase/src/PluginInterface/include -I..../Qv2ray/src/Qv2rayBase/3rdparty/uvw/src -I..../Qv2ray/build/_deps/libuv-src/include -isystem /usr/include/qt6/QtCore -isystem /usr/include/qt6 -isystem /usr/lib/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtNetwork -O3 -DNDEBUG -std=c++17 -fPIC -fvisibility=hidden -mno-direct-extern-access -MD -MT src/Qv2rayBase/CMakeFiles/Qv2rayBase.dir/src/private/Plugin/LatencyTestThread_p.cpp.o -MF src/Qv2rayBase/CMakeFiles/Qv2rayBase.dir/src/private/Plugin/LatencyTestThread_p.cpp.o.d -o src/Qv2rayBase/CMakeFiles/Qv2rayBase.dir/src/private/Plugin/LatencyTestThread_p.cpp.o -c ..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp: In member function ‘virtual void Qv2rayBase::Plugin::LatencyTestThread::run()’:
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:51:27: error: incomplete type ‘uvw::Loop’ used in nested name specifier
51 | loop = uvw::Loop::create();
| ^~~~~~
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:52:25: error: invalid use of incomplete type ‘using std::__shared_ptr_access<uvw::Loop, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::Loop’ {aka ‘class uvw::Loop’}
52 | stopTimer = loop->resource<uvw::TimerHandle>();
| ^~
In file included from ..../Qv2ray/src/Qv2rayBase/include/Qv2rayBase/private/Plugin/LatencyTestThread_p.hpp:26,
from ..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:17:
..../Qv2ray/src/Qv2rayBase/src/PluginInterface/include/QvPlugin/Handlers/LatencyTestHandler.hpp:7:11: note: forward declaration of ‘using std::__shared_ptr_access<uvw::Loop, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::Loop’ {aka ‘class uvw::Loop’}
7 | class Loop;
| ^~~~
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:52:52: error: expected primary-expression before ‘>’ token
52 | stopTimer = loop->resource<uvw::TimerHandle>();
| ^
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:52:54: error: expected primary-expression before ‘)’ token
52 | stopTimer = loop->resource<uvw::TimerHandle>();
| ^
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:53:18: error: invalid use of incomplete type ‘using std::__shared_ptr_access<uvw::TimerHandle, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::TimerHandle’ {aka ‘class uvw::TimerHandle’}
53 | stopTimer->on<uvw::TimerEvent>([this](auto &, auto &handle) { doTest(qobject_cast<Qv2rayBase::Plugin::LatencyTestHost *>(parent()), handle); });
| ^~
..../Qv2ray/src/Qv2rayBase/include/Qv2rayBase/private/Plugin/LatencyTestThread_p.hpp:32:11: note: forward declaration of ‘using std::__shared_ptr_access<uvw::TimerHandle, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::TimerHandle’ {aka ‘class uvw::TimerHandle’}
32 | class TimerHandle;
| ^~~~~~~~~~~
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:53:28: error: ‘TimerEvent’ is not a member of ‘uvw’; did you mean ‘timer_event’?
53 | stopTimer->on<uvw::TimerEvent>([this](auto &, auto &handle) { doTest(qobject_cast<Qv2rayBase::Plugin::LatencyTestHost *>(parent()), handle); });
| ^~~~~~~~~~
| timer_event
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:54:18: error: invalid use of incomplete type ‘using std::__shared_ptr_access<uvw::TimerHandle, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::TimerHandle’ {aka ‘class uvw::TimerHandle’}
54 | stopTimer->start(uvw::TimerHandle::Time{ 500 }, uvw::TimerHandle::Time{ 500 });
| ^~
..../Qv2ray/src/Qv2rayBase/include/Qv2rayBase/private/Plugin/LatencyTestThread_p.hpp:32:11: note: forward declaration of ‘using std::__shared_ptr_access<uvw::TimerHandle, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::TimerHandle’ {aka ‘class uvw::TimerHandle’}
32 | class TimerHandle;
| ^~~~~~~~~~~
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:54:44: error: incomplete type ‘uvw::TimerHandle’ used in nested name specifier
54 | stopTimer->start(uvw::TimerHandle::Time{ 500 }, uvw::TimerHandle::Time{ 500 });
| ^~~~
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:54:75: error: incomplete type ‘uvw::TimerHandle’ used in nested name specifier
54 | stopTimer->start(uvw::TimerHandle::Time{ 500 }, uvw::TimerHandle::Time{ 500 });
| ^~~~
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:55:13: error: invalid use of incomplete type ‘using std::__shared_ptr_access<uvw::Loop, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::Loop’ {aka ‘class uvw::Loop’}
55 | loop->run();
| ^~
..../Qv2ray/src/Qv2rayBase/src/PluginInterface/include/QvPlugin/Handlers/LatencyTestHandler.hpp:7:11: note: forward declaration of ‘using std::__shared_ptr_access<uvw::Loop, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::Loop’ {aka ‘class uvw::Loop’}
7 | class Loop;
| ^~~~
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp: In member function ‘void Qv2rayBase::Plugin::LatencyTestThread::doTest(Qv2rayBase::Plugin::LatencyTestHost*, uvw::TimerHandle&)’:
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:78:21: error: invalid use of incomplete type ‘using std::__shared_ptr_access<uvw::Loop, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::Loop’ {aka ‘class uvw::Loop’}
78 | loop->raw(),
| ^~
..../Qv2ray/src/Qv2rayBase/src/PluginInterface/include/QvPlugin/Handlers/LatencyTestHandler.hpp:7:11: note: forward declaration of ‘using std::__shared_ptr_access<uvw::Loop, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::Loop’ {aka ‘class uvw::Loop’}
7 | class Loop;
| ^~~~
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:88:17: error: invalid use of incomplete type ‘class uvw::TimerHandle’
88 | handle.stop();
| ^~~~~~
..../Qv2ray/src/Qv2rayBase/include/Qv2rayBase/private/Plugin/LatencyTestThread_p.hpp:32:11: note: forward declaration of ‘class uvw::TimerHandle’
32 | class TimerHandle;
| ^~~~~~~~~~~
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:89:17: error: invalid use of incomplete type ‘class uvw::TimerHandle’
89 | handle.close();
| ^~~~~~
..../Qv2ray/src/Qv2rayBase/include/Qv2rayBase/private/Plugin/LatencyTestThread_p.hpp:32:11: note: forward declaration of ‘class uvw::TimerHandle’
32 | class TimerHandle;
| ^~~~~~~~~~~
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:90:21: error: invalid use of incomplete type ‘using std::__shared_ptr_access<uvw::Loop, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::Loop’ {aka ‘class uvw::Loop’}
90 | loop->clear();
| ^~
..../Qv2ray/src/Qv2rayBase/src/PluginInterface/include/QvPlugin/Handlers/LatencyTestHandler.hpp:7:11: note: forward declaration of ‘using std::__shared_ptr_access<uvw::Loop, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::Loop’ {aka ‘class uvw::Loop’}
7 | class Loop;
| ^~~~
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:91:21: error: invalid use of incomplete type ‘using std::__shared_ptr_access<uvw::Loop, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::Loop’ {aka ‘class uvw::Loop’}
91 | loop->close();
| ^~
..../Qv2ray/src/Qv2rayBase/src/PluginInterface/include/QvPlugin/Handlers/LatencyTestHandler.hpp:7:11: note: forward declaration of ‘using std::__shared_ptr_access<uvw::Loop, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::Loop’ {aka ‘class uvw::Loop’}
7 | class Loop;
| ^~~~
..../Qv2ray/src/Qv2rayBase/src/private/Plugin/LatencyTestThread_p.cpp:92:21: error: invalid use of incomplete type ‘using std::__shared_ptr_access<uvw::Loop, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::Loop’ {aka ‘class uvw::Loop’}
92 | loop->stop();
| ^~
..../Qv2ray/src/Qv2rayBase/src/PluginInterface/include/QvPlugin/Handlers/LatencyTestHandler.hpp:7:11: note: forward declaration of ‘using std::__shared_ptr_access<uvw::Loop, __gnu_cxx::_S_atomic, false, false>::element_type = class uvw::Loop’ {aka ‘class uvw::Loop’}
7 | class Loop;
| ^~~~
ninja: build stopped: subcommand failed.
Downgrading uvw seems to help a bit but produce another error:
[3/28] Building CXX object CMakeFiles/qv2ray.dir/src/ui/widgets/TagLineEditorWidget.cpp.o
FAILED: CMakeFiles/qv2ray.dir/src/ui/widgets/TagLineEditorWidget.cpp.o
/usr/bin/c++ -DQAPPLICATION_CLASS=QApplication -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQV2RAY_BASELIB_VERSION=\"3.0.0.0\" -DQV2RAY_BASELIB_VERSION_MAJOR=3 -DQV2RAY_BASELIB_VERSION_MINOR=0 -DQV2RAY_BASELIB_VERSION_PATCH=0 -DQV2RAY_BASELIB_VERSION_TWEAK=0 -DQV2RAY_BUILD_EXTRA_INFO="\"3.0.0 - Qv2ray 3.0, the new era.\"" -DQV2RAY_BUILD_INFO="\"Qv2ray (Made By Yourself)\"" -DQV2RAY_COMPONENT_AutoLaunchHelper=1 -DQV2RAY_COMPONENT_ConnectionModelHelper=1 -DQV2RAY_COMPONENT_FlowLayout=1 -DQV2RAY_COMPONENT_GeositeReader=1 -DQV2RAY_COMPONENT_GuiPluginHost=1 -DQV2RAY_COMPONENT_LogHighlighter=1 -DQV2RAY_COMPONENT_MessageBus=1 -DQV2RAY_COMPONENT_QJsonModel=1 -DQV2RAY_COMPONENT_QRCodeHelper=1 -DQV2RAY_COMPONENT_QueryParser=1 -DQV2RAY_COMPONENT_RouteSchemeIO=1 -DQV2RAY_COMPONENT_SpeedWidget=1 -DQV2RAY_COMPONENT_StyleManager=1 -DQV2RAY_COMPONENT_UpdateChecker=1 -DQV2RAY_DEFAULT_VASSETS_PATH=\"/usr/share/v2ray\" -DQV2RAY_DEFAULT_VCORE_PATH=\"/usr/bin/v2ray\" -DQV2RAY_NO_AUTOUPDATE=1 -DQV2RAY_VERSION_STRING=\"3.0.0-rc1\" -I..../Qv2ray/build -I..../Qv2ray -I..../Qv2ray/build/qv2ray_autogen/include -I..../Qv2ray/3rdparty/qt-qrcode/lib -I..../Qv2ray/src -I..../Qv2ray/src/components -I..../Qv2ray/src/Qv2rayBase/include -I..../Qv2ray/build/src/Qv2rayBase -I..../Qv2ray/src/Qv2rayBase/src/PluginInterface/include -I..../Qv2ray/3rdparty/SingleApplication -isystem /usr/include/qt6/QtCore -isystem /usr/include/qt6 -isystem /usr/lib/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtGui -isystem /usr/include/qt6/QtSvg -isystem /usr/include/qt6/QtNetwork -isystem /usr/include/qt6/QtWidgets -O3 -DNDEBUG -std=c++17 -mno-direct-extern-access -MD -MT CMakeFiles/qv2ray.dir/src/ui/widgets/TagLineEditorWidget.cpp.o -MF CMakeFiles/qv2ray.dir/src/ui/widgets/TagLineEditorWidget.cpp.o.d -o CMakeFiles/qv2ray.dir/src/ui/widgets/TagLineEditorWidget.cpp.o -c ..../Qv2ray/src/ui/widgets/TagLineEditorWidget.cpp
..../Qv2ray/src/ui/widgets/TagLineEditorWidget.cpp: In lambda function:
..../Qv2ray/src/ui/widgets/TagLineEditorWidget.cpp:23:80: error: converting to ‘TagEntryWidget::QPrivateSignal’ from initializer list would use explicit constructor ‘constexpr TagEntryWidget::QPrivateSignal::QPrivateSignal()’
23 | connect(deleteAction, &QAction::triggered, this, [this] { emit OnTagDeleted(text, {}); });
| ~~~~~~~~~~~~^~~~~~~~~~
In file included from /usr/include/qt6/QtCore/qnamespace.h:13,
from /usr/include/qt6/QtCore/qobjectdefs.h:12,
from /usr/include/qt6/QtCore/qobject.h:10,
from /usr/include/qt6/QtWidgets/qlayout.h:8,
from /usr/include/qt6/QtWidgets/QLayout:1,
from ..../Qv2ray/src/components/FlowLayout/FlowLayout.hpp:3,
from ..../Qv2ray/src/ui/widgets/TagLineEditorWidget.hpp:3,
from ..../Qv2ray/src/ui/widgets/TagLineEditorWidget.cpp:1:
..../Qv2ray/src/ui/widgets/TagLineEditorWidget.hpp:13:5: note: ‘constexpr TagEntryWidget::QPrivateSignal::QPrivateSignal()’ declared here
13 | Q_OBJECT
| ^~~~~~~~
I also tried to build qv2ray-git
package from AUR but it produces 1st error (uvw's Loop related)
How to properly build this on Linux?
Metadata
Metadata
Assignees
Labels
No labels