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

[qt] fix: conanfile.py RuntimeError: OrderedDict mutated during iteration #14718

Closed
wants to merge 10 commits into from

Conversation

kaipenglu
Copy link
Contributor

@kaipenglu kaipenglu commented Dec 13, 2022

Specify library name and version: qt/all

I meet this error when run conan install .. -s build_type=Release --build missing with python 3.10.8:

ERROR: qt/5.15.7: Error in package_info() method, line 1450
for c in self.cpp_info.components:
RuntimeError: OrderedDict mutated during iteration

My project conanfile.txt:

[requires]
qt/5.15.7

[generators]
cmake_multi
qt
cmake_find_package_multi
cmake_paths

[options]
qt:shared=True
qt:qttools=True
qt:qtserialbus=True

@CLAassistant
Copy link

CLAassistant commented Dec 13, 2022

CLA assistant check
All committers have signed the CLA.

@conan-center-bot

This comment has been minimized.

@ghost
Copy link

ghost commented Dec 13, 2022

I detected other pull requests that are modifying qt/6.x.x recipe:

This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there.

@ericLemanissier
Copy link
Contributor

@kaipenglu thanks ! Can you please consider kaipenglu#1, which should fix the qtserialbus issue, and raise an exception if the situation happens for other modules

@conan-center-bot

This comment has been minimized.

@kaipenglu
Copy link
Contributor Author

@ericLemanissier thanks! I didn't know qtserialbus depends on qtserialport. Adding qt:qtserialport=True in conanfile.txt will pass. I think changing function _get_corrected_reqs in qt5 same as in qt6 is enough.

@ericLemanissier
Copy link
Contributor

@kaipenglu actually, the change in _get_corrected_reqs is just here to produce a clearer error message in the already bugged situation. setting option qt:qtserialport=True works around the problem. The actual fix of your original situation is this line. qtserialport is not required for qtserialbus, it is an optional dependency. This condition must be reflected in the component's requirements declaration.

@conan-center-bot

This comment has been minimized.

@kaipenglu
Copy link
Contributor Author

@ericLemanissier Sorry, I'm new to QT. 😅 I have merged your PR kaipenglu#1.

@ericLemanissier
Copy link
Contributor

Thanks ! did you see the bot's message ?

Conan v1 pipeline

Sorry, the build is only launched for Access Request users. You can request access writing in this issue.

@ghost ghost mentioned this pull request Dec 14, 2022
4 tasks
@uilianries
Copy link
Member

@kaipenglu PLease, don't forget to request for access on the issue #4!

@kaipenglu kaipenglu mentioned this pull request Dec 14, 2022
jwillikers
jwillikers previously approved these changes Dec 14, 2022
@ericLemanissier
Copy link
Contributor

@kaipenglu can you please close/reopen this PR to trigger CI ? It should start now that you are an an authorized user.

@kaipenglu kaipenglu closed this Dec 19, 2022
@kaipenglu kaipenglu reopened this Dec 19, 2022
uilianries
uilianries previously approved these changes Dec 19, 2022
@kaipenglu kaipenglu requested review from uilianries and removed request for ericLemanissier December 30, 2022 02:03
@ericLemanissier
Copy link
Contributor

@prince-chrismc @uilianries @jcar87 this PR has Failed label, but it can be merged. It just misses an approval from the team. Thanks !

@conan-center-bot

This comment has been minimized.

@prince-chrismc
Copy link
Contributor

#15130 :)

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline

Failure in build 10 (eee3a15e23bab81f9efa03351ceea16096887ca4):

  • qt/5.15.7@:
    Didn't run or was cancelled before finishing

  • qt/5.15.8@:
    Didn't run or was cancelled before finishing

  • qt/5.15.5@:
    CI failed to create some packages (All logs)

    Logs for packageID 40830a8e0b2cd742b896cb7f9f2d52695f4b62c4:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=Visual Studio
    compiler.runtime=MD
    compiler.version=15
    os=Windows
    [options]
    qt:shared=False
    
    [...]
    jom 1.1.3 - empower your cores
    
    cl : Command line warning D9025 : overriding '/Fo./' with '/Foqlibraryinfo_final.obj'
    Project MESSAGE: Enabling D3D11 mode for ANGLE
    Project MESSAGE: Enabling D3D11 mode for ANGLE
    Project MESSAGE: Enabling D3D11 mode for ANGLE
    Project MESSAGE: Enabling D3D11 mode for ANGLE
    WARNING: Failure to find: C:/J/w/prod/BuildSingleReference@3/s/2889e0/1/build_folder/qtbase/src/corelib/qt5core_metatypes.json
    WARNING: Failure to find: C:/J/w/prod/BuildSingleReference@3/s/2889e0/1/build_folder/qtbase/src/corelib/qt5cored_metatypes.json
    C:\J\w\prod\BuildSingleReference@3\s\024796\1\qt5\qtbase\src\corelib\kernel\qobjectdefs.h(0): Note: No relevant classes found. No output generated.
    WARNING: Failure to find: C:/J/w/prod/BuildSingleReference@3/s/2889e0/1/build_folder/qtbase/src/gui/qt5gui_metatypes.json
    WARNING: Failure to find: C:/J/w/prod/BuildSingleReference@3/s/2889e0/1/build_folder/qtbase/src/gui/qt5guid_metatypes.json
    C:\J\w\prod\BuildSingleReference@3\s\024796\1\qt5\qtbase\src\network\access\qnetworkaccessdebugpipebackend_p.h(0): Note: No relevant classes found. No output generated.
    WARNING: Failure to find: C:/J/w/prod/BuildSingleReference@3/s/2889e0/1/build_folder/qtbase/src/widgets/qt5widgets_metatypes.json
    WARNING: Failure to find: C:/J/w/prod/BuildSingleReference@3/s/2889e0/1/build_folder/qtbase/src/widgets/qt5widgetsd_metatypes.json
    C:/J/w/prod/BuildSingleReference@3/s/024796/1/qt5/qtbase/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in:90: Missing closing ' quote
    ../../../../mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in:90: Missing closing ' quote
    ../../../../mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in:90: Missing closing ' quote
    ../../../../mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in:90: Missing closing ' quote
    ../../../../mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in:90: Missing closing ' quote
    C:/J/w/prod/BuildSingleReference@3/s/024796/1/qt5/qtbase/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in:90: Missing closing ' quote
    C:/J/w/prod/BuildSingleReference@3/s/024796/1/qt5/qtbase/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in:90: Missing closing ' quote
    ../../../../mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in:90: Missing closing ' quote
    ../../../../mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in:90: Missing closing ' quote
    ../../../../mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in:90: Missing closing ' quote
    ../../../../mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in:90: Missing closing ' quote
    ../../../../mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in:90: Missing closing ' quote
    ../../../../mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in:90: Missing closing ' quote
    ../../../../mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in:90: Missing closing ' quote
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\qttools\src\assistant\assistant\Makefile.Release [..\..\..\bin\assistant.exe] Error 1180
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\qttools\src\assistant\assistant\Makefile [release] Error 2
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\qttools\src\assistant\Makefile [sub-assistant-make_first] Error 2
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\qttools\src\designer\src\lib\Makefile.Release [.obj\release\previewmanager.obj] Error 1
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\qttools\src\designer\src\lib\Makefile.Release [.obj\release\qtresourcemodel.obj] Error 1
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\qttools\src\designer\src\lib\Makefile.Release [.obj\release\qtvariantproperty.obj] Error 1
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\qttools\src\designer\src\lib\Makefile.Release [.obj\release\iconselector.obj] Error 2
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\qttools\src\designer\src\lib\Makefile.Release [.obj\release\qtresourceview.obj] Error 2
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\qttools\src\designer\src\lib\Makefile [release] Error 2
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\qttools\src\designer\src\Makefile [sub-lib-make_first] Error 2
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\qttools\src\designer\Makefile [sub-src-make_first] Error 2
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\qttools\src\Makefile [sub-designer-make_first] Error 2
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\qttools\src\Makefile [sub-assistant-make_first] Error 2
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\qttools\Makefile [sub-src-make_first] Error 2
    jom: C:\J\w\prod\BuildSingleReference@3\s\2889e0\1\build_folder\Makefile [module-qttools-make_first] Error 2
    WARN: freetype/2.12.1: requirement libpng/1.6.39 overridden by qt/5.15.5 to libpng/1.6.38 
    qt/5.15.5: ERROR: Package '40830a8e0b2cd742b896cb7f9f2d52695f4b62c4' build failed
    qt/5.15.5: WARN: Build folder C:\J\w\prod\BuildSingleReference@3/s\2889e0\1
    ERROR: qt/5.15.5: Error in build() method, line 781
    	self.run(self._make_program(), run_environment=True)
    	ConanException: Error 2 while executing jom
    
  • qt/5.15.6@:
    Didn't run or was cancelled before finishing

  • qt/6.4.2@:
    Didn't run or was cancelled before finishing

  • qt/6.3.2@:
    Didn't run or was cancelled before finishing

  • qt/6.4.1@:
    Didn't run or was cancelled before finishing

  • qt/6.2.4@:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

@github-actions
Copy link
Contributor

Hooks produced the following warnings for commit eee3a15
qt/5.15.5
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library '.\bin\Qt5Widgets.dll' links to system library 'uxtheme' but it is not in cpp_info.system_libs.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library '.\bin\archdatadir\plugins\styles\qwindowsvistastyle.dll' links to system library 'uxtheme' but it is not in cpp_info.system_libs.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library '.\bin\archdatadir\plugins\platforms\qdirect2d.dll' links to system library 'dwrite' but it is not in cpp_info.system_libs.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library '.\bin\Qt5Gui.dll' links to system library 'd3d11' but it is not in cpp_info.system_libs.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library '.\bin\archdatadir\plugins\platforms\qdirect2d.dll' links to system library 'd3d11' but it is not in cpp_info.system_libs.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library '.\bin\Qt5Gui.dll' links to system library 'dxgi' but it is not in cpp_info.system_libs.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library '.\bin\archdatadir\plugins\platforms\qdirect2d.dll' links to system library 'd2d1' but it is not in cpp_info.system_libs.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library '.\bin\libGLESv2.dll' links to system library 'd3d9' but it is not in cpp_info.system_libs.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library '.\bin\archdatadir\plugins\sqldrivers\qsqlodbc.dll' links to system library 'odbc32' but it is not in cpp_info.system_libs.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library '.\bin\Qt5Core.dll' links to system library 'mpr' but it is not in cpp_info.system_libs.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library '.\bin\libGLESv2d.dll' links to system library 'd3d9' but it is not in cpp_info.system_libs.

@ericLemanissier
Copy link
Contributor

fatal error LNK1180: insufficient disk space to complete link
Can this build be restarted ?

@prince-chrismc
Copy link
Contributor

@danimtb @uilianries looks like qt needs a bigger pod instance 😱

@ericLemanissier
Copy link
Contributor

ericLemanissier commented Jan 17, 2023

Well it has been happening for several weeks now, for all PRs on qt, but it always ends up going away by restarting PR CI

@uilianries
Copy link
Member

We have a configuration for larger builds, which includes Qt already, it seems like we need to update it and increase more resources.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants