Solved Issue building qt 5.12 from latest git repo
-
@kshegunov I have printed the config summary at the end of my question after where it says: update
-
Just tried a config like this
configure -debug -opensource -confirm-license -nomake examples -nomake tests -static -static-runtime -skip webengine -prefix "C:\install\Qt\5.12.1-static"
which more closley matches what @kshegunov mentioned - but I got the same error : (Note: git log yields (so I am also on 5.12 branch):
* 1c6f272 (HEAD -> 5.12, origin/HEAD, origin/5.12) Update submodules on '5.12' in qt5 * 391ba3a Update submodules on '5.12' in qt5 | * ce91433 (origin/dev) Fix failing to disable windows update service | * ab43850 Update submodules on 'dev' in qt5 | * d926dbe Update submodules on 'dev' in qt5 | * 99b46f7 Update submodules on 'dev' in qt5 | * 80339a1 Build MIPS64 with b2qt toolchain | * 5cfa563 Provision docker test servers based on Ubuntu 18.04 | * b4b2152 Start the docker machine and update with new TLS certificates | * 177df80 Docker Provisioning: Install docker test servers on Windows 10 (x86_64) | * ab3e348 Display the provisioned version of docker tool kits | * b97e448 Move and merge the provisioning scripts of docker to a shared folder | | * b0afdd4 (origin/5.13) Update submodules on '5.13' in qt5 | | * 2471d6d (tag: v5.13.0-alpha1) Update qtwebengine | | * 7bd38a4 Update submodules on '5.13' in qt5 | | * 26ff9bd Update submodules on '5.13' in qt5 | | * 9b84c71 Build MIPS64 with b2qt toolchain | | * 84aa9b7 Merge remote-tracking branch 'origin/dev' into 5.13 | | |\ | | |/ | |/| | * | 1830cca Update submodules on 'dev' in qt5
-
The configure seems okay to me. Very odd. Do you get the same if you don't do a static build?
PS. Also try with forward slashes to exclude some path escaping nonsense.
C:/install/Qt/5.12.1-static
-
@kshegunov I just did this:
rm * -r
(I have the linux like commands installed because I prefer them - but its still just a dos prompt)configure -debug -opensource -confirm-license -nomake examples -nomake tests -skip webengine -prefix "C:/install/Qt/5.12.1-sharedlibs
mingw32-make -j8
Same issue :((
I am going to try exactly what you did! and see...
-
Just be sure to run
git submodule foreach --recursive "git clean -dfx" && git clean -dfx
before eachconfigure
, to be completely certain there's no *.cache files left over from the previous attempt. -
@kshegunov good idea - I will do that.
While I am doing that, did you see this before: https://forum.qt.io/topic/95040/build-qt5-from-git-with-msys2-fails-on-wrong-includes
I just wander if its relevant. But I am not using msys or anything... just wanted to get your thoughts...
-
I don't know, it may be. I too use strawberry pearl when I do my windows testing (I develop and use Linux principally). You could try it if anything else doesn't work. It'd also allow you to run the repo's perl init script.
-
@kshegunov well, i just did the super squeaky clean, I even opened using dos cmd.exe just in case conemu was causing an issue (using mingw-w64.bat to set the tool chain path) ... it was a thoroughly horrid experience, I don't recommend it! (why Microsoft, oh why is your command prompt the same one from the 1980's?!?)
but alas, I got the same result (I was following what you did this time - i.e. exactly the same config. As mentioned in that other post (if I change
#include <QVector>
to#include "qvector.h"
that file does compile - but then I just hit another issue later...I am sort of out of ideas - I have had this all working on linux many times, but I just can't seem to get to grips with the windows builds of late : (
btw guys your support / ideas are much appreciated (and @SGaist)
-
Did you check whether the QXXXX files were generated ?
Also, can you test if you have the same problem with 5.12.1 ? -
@SGaist Where would these be? (I mean where should I look)
I am about to do somthing a bit crazy - and install windows 10!... juuuuust in case... that might take me a little while, but I should still be able to check these QXXX files...
Once I do that, yes I will try to build 5.12.1 (I assume that is a git branch)
-
In my build directory I did this (in the qtbase sub folder):
D:\install\Qt\qt5_static_build\qtbase>find -name "QVector*"
D:\install\Qt\qt5_static_build\qtbase>find -name "qvector*" ./include/QtCore/qvector.h
so I found qvector.h, but not QVector
-
So this means that the forward headers are not generated.
Do you have perl installed ?
-
@SGaist yes:
D:\install\Qt\qt5_static_build\qtbase>perl --version This is perl 5, version 22, subversion 1 (v5.22.1) built for x86_64-msys-thread-multi Copyright 1987-2015, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page.
-
So I am currently doing:
perl init-repository --module-subset=essential
I had assumed that was just the equivalent of
git submodule update --init --recurive
-
@SGaist ... damn, that did not compile still. Also in my out of source build folder I still can't find "QVector*" ... Is there some way to force the generation of QXXX files?
-
Would you try strawberry pearl? I imagine this is related to the link you posted (about msys) after all.
-
@kshegunov yes I would try that! - I was just about to try 5.12.1... but that is probably not the issue. I will go look for strawberry perl...
-
@kshegunov I assume (just downloading it) that you want me to run the perl init repo line again with strawberry perl?
-
So I just did the init repo with strawberry perl. it did stuff, but gave me a strange warning at the end. Anyway, I am continuing with the config / build...
D:\install\Qt\qt5_git_repo>perl init-repository -f + git submodule init qt3d qtactiveqt qtandroidextras qtbase qtcanvas3d qtcharts qtconnectivity qtdatavis3d qtdeclarative qtdoc qtgamepad qtgraphicaleffects qtimageformats qtlocation qtmacextras qtmultimedia qtnetworkauth qtpurchasing qtqa qtquickcontrols qtquickcontrols2 qtremoteobjects qtrepotools qtscript qtscxml qtsensors qtserialbus qtserialport qtspeech qtsvg qttools qttranslations qtvirtualkeyboard qtwayland qtwebchannel qtwebengine qtwebglplugin qtwebsockets qtwebview qtwinextras qtx11extras qtxmlpatterns Submodule 'qt3d' (https://github.com/qt/qt3d.git) registered for path 'qt3d' Submodule 'qtactiveqt' (https://github.com/qt/qtactiveqt.git) registered for path 'qtactiveqt' Submodule 'qtandroidextras' (https://github.com/qt/qtandroidextras.git) registered for path 'qtandroidextras' Submodule 'qtcanvas3d' (https://github.com/qt/qtcanvas3d.git) registered for path 'qtcanvas3d' Submodule 'qtcharts' (https://github.com/qt/qtcharts.git) registered for path 'qtcharts' Submodule 'qtconnectivity' (https://github.com/qt/qtconnectivity.git) registered for path 'qtconnectivity' Submodule 'qtdatavis3d' (https://github.com/qt/qtdatavis3d.git) registered for path 'qtdatavis3d' Submodule 'qtgamepad' (https://github.com/qt/qtgamepad.git) registered for path 'qtgamepad' Submodule 'qtgraphicaleffects' (https://github.com/qt/qtgraphicaleffects.git) registered for path 'qtgraphicaleffects' Submodule 'qtimageformats' (https://github.com/qt/qtimageformats.git) registered for path 'qtimageformats' Submodule 'qtlocation' (https://github.com/qt/qtlocation.git) registered for path 'qtlocation' Submodule 'qtmacextras' (https://github.com/qt/qtmacextras.git) registered for path 'qtmacextras' Submodule 'qtnetworkauth' (https://github.com/qt/qtnetworkauth.git) registered for path 'qtnetworkauth' Submodule 'qtpurchasing' (https://github.com/qt/qtpurchasing.git) registered for path 'qtpurchasing' Submodule 'qtquickcontrols' (https://github.com/qt/qtquickcontrols.git) registered for path 'qtquickcontrols' Submodule 'qtremoteobjects' (https://github.com/qt/qtremoteobjects.git) registered for path 'qtremoteobjects' Submodule 'qtscript' (https://github.com/qt/qtscript.git) registered for path 'qtscript' Submodule 'qtscxml' (https://github.com/qt/qtscxml.git) registered for path 'qtscxml' Submodule 'qtsensors' (https://github.com/qt/qtsensors.git) registered for path 'qtsensors' Submodule 'qtserialbus' (https://github.com/qt/qtserialbus.git) registered for path 'qtserialbus' Submodule 'qtserialport' (https://github.com/qt/qtserialport.git) registered for path 'qtserialport' Submodule 'qtspeech' (https://github.com/qt/qtspeech.git) registered for path 'qtspeech' Submodule 'qtsvg' (https://github.com/qt/qtsvg.git) registered for path 'qtsvg' Submodule 'qtvirtualkeyboard' (https://github.com/qt/qtvirtualkeyboard.git) registered for path 'qtvirtualkeyboard' Submodule 'qtwayland' (https://github.com/qt/qtwayland.git) registered for path 'qtwayland' Submodule 'qtwebchannel' (https://github.com/qt/qtwebchannel.git) registered for path 'qtwebchannel' Submodule 'qtwebengine' (https://github.com/qt/qtwebengine.git) registered for path 'qtwebengine' Submodule 'qtwebglplugin' (https://github.com/qt/qtwebglplugin.git) registered for path 'qtwebglplugin' Submodule 'qtwebsockets' (https://github.com/qt/qtwebsockets.git) registered for path 'qtwebsockets' Submodule 'qtwebview' (https://github.com/qt/qtwebview.git) registered for path 'qtwebview' Submodule 'qtwinextras' (https://github.com/qt/qtwinextras.git) registered for path 'qtwinextras' Submodule 'qtx11extras' (https://github.com/qt/qtx11extras.git) registered for path 'qtx11extras' Submodule 'qtxmlpatterns' (https://github.com/qt/qtxmlpatterns.git) registered for path 'qtxmlpatterns' + git config commit.template D:/install/Qt/qt5_git_repo/.commit-template + git config remote.origin.url https://github.com/qt/qt3d.git + git fetch origin + git config commit.template D:/install/Qt/qt5_git_repo/.commit-template + git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qt3d.git + git config remote.gerrit.fetch +refs/heads/*:refs/remotes/gerrit/* /heads/ + git config remote.origin.url https://github.com/qt/qtactiveqt.git + git fetch origin + git config commit.template D:/install/Qt/qt5_git_repo/.commit-template + git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qtactiveqt.git + git config remote.gerrit.fetch +refs/heads/*:refs/remotes/gerrit/* /heads/ + git config remote.origin.url https://github.com/qt/qtandroidextras.git + git fetch origin + git config commit.template D:/install/Qt/qt5_git_repo/.commit-template + git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qtandroidextras.git + git config remote.gerrit.fetch +refs/heads/*:refs/remotes/gerrit/* /heads/ + git config remote.origin.url https://github.com/qt/qtbase.git + git fetch origin + git config commit.template D:/install/Qt/qt5_git_repo/.commit-template + git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qtbase.git + git config remote.gerrit.fetch +refs/heads/*:refs/remotes/gerrit/* /heads/ warning: remote.gerrit.fetch has multiple values git config remote.gerrit.fetch +refs/heads/*:refs/remotes/gerrit/* /heads/ exited with status 1280 at init-repository line 198. Qt::InitRepository::exe(Qt::InitRepository=HASH(0x7fa328), "git", "config", "remote.gerrit.fetch", "+refs/heads/*:refs/remotes/gerrit/*", "/heads/") called at init-repository line 462 Qt::InitRepository::git_add_remotes(Qt::InitRepository=HASH(0x7fa328), "qtbase.git") called at init-repository line 566 Qt::InitRepository::git_clone_one_submodule(Qt::InitRepository=HASH(0x7fa328), "qtbase", "qtbase.git", 0, "") called at init-repository line 409 Qt::InitRepository::git_clone_all_submodules(Qt::InitRepository=HASH(0x7fa328), "qt5", 0, "", "preview", "essential", "addon", "deprecated") called at init-repository line 645 Qt::InitRepository::run(Qt::InitRepository=HASH(0x7fa328)) called at init-repository line 656
-
Ok, so configured (statically as before without
-no-pch
) and hitmake -j8
... now the build has been going for far longer then before!After the config I still could not see the QXXX files, but once the build started (its still going) I got:
D:\install\Qt\qt5_static_build>find -name "QVector*" ./qtbase/include/QtCore/QVector ./qtbase/include/QtCore/QVectorIterator ./qtbase/include/QtGui/QVector2D ./qtbase/include/QtGui/QVector3D ./qtbase/include/QtGui/QVector4D
So, this looks like the issue... what the difference its between the two perls - I have no idea! - but its looking very good at the moment. I think I can close this issue becuase the specific build error I had is gone (I may still have other troubles - but they can be in a new issue if required).
Guys @SGaist @kshegunov - you have both been great - can't upvote enough...