[Interest] 5.11 QDoc 2 hours build time

Oliver Niebuhr googleersatz at oliverniebuhr.de
Sun Feb 11 13:18:12 CET 2018


Hello again. Short update:

I compiled Clang 7.0.0 latest Trunk against VS 2017 15.5.5 and it helped
a little:
* No more AST Crashes in Libclang.dll
* Build time for the QDoc Module alone went down a little too:
** Clang 5.0.1 precompiled Binaries: 02 Hours 33 Minutes
** Clang 7.0.0 compiled from Trunk: 01 Hour 02 Minutes

Build time is still much longer than the normal 8-12 Minutes without
Clang. I will open a Bug Report about it in the next Days.

Have a sunny Sunday everyone.
Oliver


On 07/02/2018 09:54, Oliver Niebuhr wrote:
> Hello.
> 
> Before I create an official Bug Report:
> 
> Has anyone else the Problem, that the QDoc Module alone takes longer to
> build than all other Modules together?
> 
> QDoc build times:
> * OS: Win 10, FCU, SDK 16299
> * Qt 5.11 Git: First Alpha Snapshot; todays Submodule Update
> * Visual Studio 2015, 2017 (including Qt Git Dev Branch before enforcing
> Clang for no good reason): 8-12 Minutes, depending on CPU utilization
> * Visual Studio 2017 15.5.5, Clang 5.0.1 for QDoc: 2 hours, 33 Minutes:
> With and without precompiled Headers enabled.
> 
> This mornings Submodule Update / Merge did not help at all.
> 
> Another Error that comes up for all Modules is:
> 
> "libclang: crash detected during AST saving: {
>   'filename' : 'C:/temp/qdoc_pch.wtazNK/QtCore.pch'
>   'options' : 0,
> }"
> 
> and
> 
> "(qdoc) Could not save PCH file for  "QtCore" 1
> QTemporaryDir: Unable to remove "C:\\temp\\qdoc_pch.wtazNK" most likely
> due to the presence of read-only files.
>         cd tools\qlalr\ && ( if not exist Makefile
> C:\QtSrcx64\qtbase\bin\qmake.exe -o Makefile
> C:\qt5srcgit\qt5\qtbase\src\tools\qlalr\qlalr.pro ) && C:\jom\jom.exe -f
> Makefile prepare_docs
>         C:\jom\jom.exe -f Makefile.Release prepare_docs
>         cd sql\ && ( if not exist Makefile
> C:\QtSrcx64\qtbase\bin\qmake.exe -o Makefile
> C:\qt5srcgit\qt5\qtbase\src\sql\sql.pro ) && C:\jom\jom.exe -f Makefile
> prepare_docs
>         C:\jom\jom.exe -f Makefile.Release prepare_docs
>         cd winmain\ && ( if not exist Makefile
> C:\QtSrcx64\qtbase\bin\qmake.exe -o Makefile
> C:\qt5srcgit\qt5\qtbase\src\winmain\winmain.pro ) && C:\jom\jom.exe -f
> Makefile prepare_docs
>         C:\jom\jom.exe -f Makefile.Release prepare_docs
>         cd network\ && ( if not exist Makefile
> C:\QtSrcx64\qtbase\bin\qmake.exe -o Makefile
> C:\qt5srcgit\qt5\qtbase\src\network\network.pro ) && C:\jom\jom.exe -f
> Makefile prepare_docs
>         C:\jom\jom.exe -f Makefile.Release prepare_docs
>         C:\qtx64\bin\qtattributionsscanner.exe C:/qt5srcgit/qt5/qtbase
> --filter QDocModule=qtsql -o
> C:/QtSrcx64/qtbase/src/sql/codeattributions.qdoc
>         cd xml\ && ( if not exist Makefile
> C:\QtSrcx64\qtbase\bin\qmake.exe -o Makefile
> C:\qt5srcgit\qt5\qtbase\src\xml\xml.pro ) && C:\jom\jom.exe -f Makefile
> prepare_docs
>         C:\jom\jom.exe -f Makefile.Release prepare_docs
>         C:\qtx64\bin\qtattributionsscanner.exe C:/qt5srcgit/qt5/qtbase
> --filter QDocModule=qtnetwork -o
> C:/QtSrcx64/qtbase/src/network/codeattributions.qdoc
>         C:\qtx64\bin\qtattributionsscanner.exe C:/qt5srcgit/qt5/qtbase
> --filter QDocModule=qtxml -o
> C:/QtSrcx64/qtbase/src/xml/codeattributions.qdoc
>         cd 3rdparty\harfbuzz-ng\ && ( if not exist Makefile
> C:\QtSrcx64\qtbase\bin\qmake.exe -o Makefile
> C:\qt5srcgit\qt5\qtbase\src\3rdparty\harfbuzz-ng\harfbuzz-ng.pro ) &&
> C:\jom\jom.exe -f Makefile prepare_docs
>         C:\jom\jom.exe -f Makefile.Release prepare_docs
>         cd 3rdparty\libpng\ && ( if not exist Makefile
> C:\QtSrcx64\qtbase\bin\qmake.exe -o Makefile
> C:\qt5srcgit\qt5\qtbase\src\3rdparty\libpng\libpng.pro ) &&
> C:\jom\jom.exe -f Makefile prepare_docs
>         C:\jom\jom.exe -f Makefile.Release prepare_docs
>         cd tools\qvkgen\ && ( if not exist Makefile
> C:\QtSrcx64\qtbase\bin\qmake.exe -o Makefile
> C:\qt5srcgit\qt5\qtbase\src\tools\qvkgen\qvkgen.pro ) && C:\jom\jom.exe
> -f Makefile prepare_docs
>         C:\jom\jom.exe -f Makefile.Release prepare_docs
>         cd tools\uic\ && ( if not exist Makefile
> C:\QtSrcx64\qtbase\bin\qmake.exe -o Makefile
> C:\qt5srcgit\qt5\qtbase\src\tools\uic\uic.pro ) && C:\jom\jom.exe -f
> Makefile prepare_docs
>         C:\jom\jom.exe -f Makefile.Release prepare_docs"
> 
> Are you already aware of this? Do I need a specific Qt Configure switch?
> Or a older LLVM / Clang Version?
> 
> Thanks!
> Oliver
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20180211/782f0671/attachment.sig>


More information about the Interest mailing list