Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[qtbase] fix broken gui build #24917

Merged
merged 2 commits into from
May 27, 2022
Merged

[qtbase] fix broken gui build #24917

merged 2 commits into from
May 27, 2022

Conversation

dhrdlicka
Copy link
Contributor

@dhrdlicka dhrdlicka commented May 25, 2022

Describe the pull request

  • What does your PR fix?

    Qt6Gui requires the thread feature to be enabled on Windows, which leads to build failure if the default feature set is disabled and the gui port feature is enabled without the concurrent feature. This PR adds a new thread port feature that concurrent and gui (on Windows) depend on.

  • If you have added/updated a port: Have you run ./vcpkg x-add-version --all and committed the result?

    Yes

@Neumann-A
Copy link
Contributor

this is incorrect. Error please? It is probably that feaatures like xcb need to have feature concurrent as a dependency.
Check against https://code.qt.io/cgit/qt/qtbase.git/tree/src/gui/configure.cmake?h=v6.3.0

@dhrdlicka
Copy link
Contributor Author

[793/1276] cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_dll --intdir=src\gui\CMakeFiles\Gui.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\mt.exe --manifests  -- C:\PROGRA~1\MICROS~1\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\x86\link.exe  @CMakeFiles\Gui.rsp  /out:bin\Qt6Guid.dll /implib:lib\Qt6Guid.lib /pdb:bin\Qt6Guid.pdb /dll /version:6.3 /machine:X86 /nologo    /debug /INCREMENTAL  -DYNAMICBASE -NXCOMPAT -LARGEADDRESSAWARE  && cd ."
FAILED: bin/Qt6Guid.dll lib/Qt6Guid.lib 
cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_dll --intdir=src\gui\CMakeFiles\Gui.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\mt.exe --manifests  -- C:\PROGRA~1\MICROS~1\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\x86\link.exe  @CMakeFiles\Gui.rsp  /out:bin\Qt6Guid.dll /implib:lib\Qt6Guid.lib /pdb:bin\Qt6Guid.pdb /dll /version:6.3 /machine:X86 /nologo    /debug /INCREMENTAL  -DYNAMICBASE -NXCOMPAT -LARGEADDRESSAWARE  && cd ."
LINK Pass 1: command "C:\PROGRA~1\MICROS~1\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\x86\link.exe @CMakeFiles\Gui.rsp /out:bin\Qt6Guid.dll /implib:lib\Qt6Guid.lib /pdb:bin\Qt6Guid.pdb /dll /version:6.3 /machine:X86 /nologo /debug /INCREMENTAL -DYNAMICBASE -NXCOMPAT -LARGEADDRESSAWARE /MANIFEST /MANIFESTFILE:src\gui\CMakeFiles\Gui.dir/intermediate.manifest src\gui\CMakeFiles\Gui.dir/manifest.res" failed (exit code 1120) with the following output:
   Creating library lib\Qt6Guid.lib and object lib\Qt6Guid.exp
qwindowsysteminterface.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QWaitCondition::QWaitCondition(void)" (__imp_??0QWaitCondition@@QAE@XZ) referenced in function "void __cdecl `dynamic initializer for 'public: static class QWaitCondition QWindowSystemInterfacePrivate::eventsFlushed''(void)" (??__E?eventsFlushed@QWindowSystemInterfacePrivate@@2VQWaitCondition@@A@@YAXXZ)
qfileinfogatherer.cpp.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall QWaitCondition::QWaitCondition(void)" (__imp_??0QWaitCondition@@QAE@XZ)
qwindowsysteminterface.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QWaitCondition::~QWaitCondition(void)" (__imp_??1QWaitCondition@@QAE@XZ) referenced in function "void __cdecl `dynamic atexit destructor for 'public: static class QWaitCondition QWindowSystemInterfacePrivate::eventsFlushed''(void)" (??__F?eventsFlushed@QWindowSystemInterfacePrivate@@2VQWaitCondition@@A@@YAXXZ)
qfileinfogatherer.cpp.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall QWaitCondition::~QWaitCondition(void)" (__imp_??1QWaitCondition@@QAE@XZ)
qwindowsysteminterface.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __thiscall QWaitCondition::wait(class QMutex *,class QDeadlineTimer)" (__imp_?wait@QWaitCondition@@QAE_NPAVQMutex@@VQDeadlineTimer@@@Z) referenced in function "public: static bool __cdecl QWindowSystemInterface::flushWindowSystemEvents(class QFlags<enum QEventLoop::ProcessEventsFlag>)" (?flushWindowSystemEvents@QWindowSystemInterface@@SA_NV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z)
qfileinfogatherer.cpp.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __thiscall QWaitCondition::wait(class QMutex *,class QDeadlineTimer)" (__imp_?wait@QWaitCondition@@QAE_NPAVQMutex@@VQDeadlineTimer@@@Z)
  Hint on symbols that are defined and could potentially match:
    "__declspec(dllimport) public: bool __thiscall QThread::wait(class QDeadlineTimer)" (__imp_?wait@QThread@@QAE_NVQDeadlineTimer@@@Z)
qwindowsysteminterface.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall QWaitCondition::wakeOne(void)" (__imp_?wakeOne@QWaitCondition@@QAEXXZ) referenced in function "public: static void __cdecl QWindowSystemInterface::deferredFlushWindowSystemEvents(class QFlags<enum QEventLoop::ProcessEventsFlag>)" (?deferredFlushWindowSystemEvents@QWindowSystemInterface@@SAXV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z)
qfileinfogatherer.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall QWaitCondition::wakeAll(void)" (__imp_?wakeAll@QWaitCondition@@QAEXXZ) referenced in function "public: virtual __thiscall QFileInfoGatherer::~QFileInfoGatherer(void)" (??1QFileInfoGatherer@@UAE@XZ)
bin\Qt6Guid.dll : fatal error LNK1120: 5 unresolved externals

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 93b38546e271ac8047a6dd00469f14845beb4642 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 17debef..c345d38 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -5878,7 +5878,7 @@
     },
     "qtbase": {
       "baseline": "6.3.0",
-      "port-version": 1
+      "port-version": 2
     },
     "qtcharts": {
       "baseline": "6.3.0",
diff --git a/versions/q-/qtbase.json b/versions/q-/qtbase.json
index da074da..11e682d 100644
--- a/versions/q-/qtbase.json
+++ b/versions/q-/qtbase.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "bad99835f1e2cf63bc1ddcd9d5871e3081964bbc",
+      "version": "6.3.0",
+      "port-version": 2
+    },
     {
       "git-tree": "32ffa659c93542477ed0f0ee90f3a7f99c0035f0",
       "version": "6.3.0",

@Adela0814 Adela0814 added the category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist label May 26, 2022
@Adela0814 Adela0814 added the info:reviewed Pull Request changes follow basic guidelines label May 26, 2022
Copy link
Contributor

@ras0219-msft ras0219-msft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved if @Neumann-A does. Thanks for the PR!

@ras0219-msft ras0219-msft merged commit 5739a74 into microsoft:master May 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants