Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Issue building qt 5.12 from latest git repo



  • So I just cloned qt today. I then updated/initialised the repo, configured it and then hit make (mingw32-make) and I got an error:

    g++ -c -fno-keep-inline-dllexport -msse2 -mstackrealign -mfpmath=sse -g -Og -std=c++1z -ffunction-sections -fdata-sections -fexceptions -mthreads -Wall -W -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DQFLOAT16_INCLUDE_FAST -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DPCRE2_CODE_UNIT_WIDTH=16 -DPCRE2_STATIC -I. -I../3rdparty/zlib/src -Iglobal -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I../3rdparty/sha3 -I../3rdparty -I../3rdparty/double-conversion/include -I../3rdparty/double-conversion/include/double-conversion -I../3rdparty/tinycbor/src -I../../include -I../../include/QtCore -I../../include/QtCore/5.12.2 -I../../include/QtCore/5.12.2/QtCore -Itmp -I.moc/debug -I.tracegen/debug -I../3rdparty/pcre2/src -I../../mkspecs/win32-g++  -o .obj/debug/qmap.o tools/qmap.cpp
    In file included from tools/qcollator.cpp:41:0:
    tools/qcollator_p.h:57:10: fatal error: QVector: No such file or directory
     #include <QVector>
    

    I read a few posts, but I could not decipher what the solution is (unless its a bug in Qt). I am not using msys or anything like this - just bog-standard dos prompt (with conemu front end).

    Here are the exact steps I took (because I was writing them down as I went):

    1-Preparation

    NOTE: in the mingw folder there should be a mingw-xx.bat file to open an cmd prompt environment for gcc. Run this for all cmd prompts to do the following actions.

    2-Configuation

    • Open cmd prompt and cd into the qt git clone repo (using the mingw.bat to open the prompt).

    • configure -debug -opensource -static -static-runtime -skip webengine -no-pch -nomake examples -nomake tests -nomake tools -accessibility -no-sql-sqlite -no-opengl -opengl desktop -platform win32-g++ -qt-zlib -qt-libpng -qt-libjpeg -confirm-license -prefix "C:\install\Qt\5.12.1-static"

    3-Compilation

    • mingw32-make -j8 (THIS STEP FAILED)

    • mingw32-make install (NEVER GOT TO THIS STEP)

    Here is my path (printed on different lines for convienice):

    D:\install\conemu\ConEmu\Scripts
    D:\install\conemu
    D:\install\conemu\ConEmu
    d:\install\mingw-w64\i686-7.3.0-posix-dwarf\mingw32\bin
    D:\install\msys64\usr\bin
    C:\ProgramData\Oracle\Java\javapath
    C:\Program Files (x86)\Intel\iCLS Client\
    C:\Program Files\Intel\iCLS Client\
    C:\Windows\system32
    C:\Windows
    C:\Windows\System32\Wbem
    C:\Windows\System32\WindowsPowerShell\v1.0\
    C:\Program Files\Intel\Intel(R) Management Engine Components\DAL
    C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL
    C:\Program Files\Intel\Intel(R) Management Engine Components\IPT
    C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT
    C:\Program Files\Calibre2\
    C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
    d:\install\Git\cmd
    d:\install\Git\usr\bin
    D:\install\p4merge
    D:\install\p4merge\DVCS\
    C:\Program Files (x86)\Skype\Phone\
    C:\Program Files\Git LFS
    C:\Program Files (x86)\Nmap
    D:\mybin
    

    I am using windows 8.1.


    update

    My configuration summary:

    This is the Qt Open Source Edition.
    
    You have already accepted the terms of the Open Source license.
    
    Running configuration tests...
    Checking for valid makespec... yes
    Checking for target architecture... i386
    Checking for SSE2 instructions... yes
    Checking for AES new instructions... yes
    Checking for alloca() in alloca.h... no
    Checking for alloca() in malloc.h... yes
    Checking for SSE3 instructions... yes
    Checking for SSSE3 instructions... yes
    Checking for SSE4.1 instructions... yes
    Checking for SSE4.2 instructions... yes
    Checking for AVX instructions... yes
    Checking for AVX2 instructions... yes
    Checking for AVX512 F instructions... yes
    Checking for AVX512 BW instructions... yes
    Checking for AVX512 CD instructions... yes
    Checking for AVX512 DQ instructions... yes
    Checking for AVX512 ER instructions... yes
    Checking for AVX512 IFMA instructions... yes
    Checking for AVX512 PF instructions... yes
    Checking for AVX512 VBMI instructions... yes
    Checking for AVX512 VL instructions... yes
    Checking for C++14 support... yes
    Checking for C++1z support... yes
    Checking for C99 support... yes
    Checking for C11 support... yes
    Checking for D-Bus >= 1.2... no
    Checking for F16C instructions... yes
    Checking for support for split sections and linker garbage collection... yes
    Checking for D-Bus >= 1.2 (host)... yes
    Checking for IncrediBuild... no
    Checking for udev... no
    Checking for -Og support... yes
    Checking for POSIX fallocate()... no
    Checking for precompiled header support... yes
    Checking for RDRAND instruction... yes
    Checking for SHA new instructions... yes
    Checking for STL compatibility... yes
    Checking for Intrinsics without -mXXX argument... yes
    Checking for C++11 <future>... yes
    Checking for eventfd... no
    Checking for inotify... no
    Checking for slog2... no
    Checking for 64 bit atomics... yes
    Checking for DoubleConversion... no
    Checking for PCRE2... no
    Checking for O_CLOEXEC... no
    Checking for C++11 <random>... yes
    Checking for working std::atomic for function pointers... yes
    Checking for OpenSSL Headers... no
    Checking for getifaddrs()... no
    Checking for IPv6 ifname... no
    Checking for xkbcommon >= 0.5.0... no
    Checking for DirectX GI... yes
    Checking for Direct3D 11... yes
    Checking for Direct2D 1... yes
    Checking for Direct2D 1.1... yes
    Checking for DirectX GI 1.2... yes
    Checking for Direct3D 11.1... yes
    Checking for Direct3D 9... yes
    Checking for DirectWrite... yes
    Checking for DirectWrite 1... yes
    Checking for DirectWrite 2... yes
    Checking for KMS... no
    Checking for DirectX GUID... yes
    Checking for Desktop OpenGL... yes
    Checking for EGL... no
    Checking for evdev... no
    Checking for GBM... no
    Checking for LinuxFB... no
    Checking for mtdev... no
    Checking for OpenVG... no
    Checking for default QPA platform... windows
    Checking for tslib... no
    Checking for Vulkan... no
    Checking for XLib... no
    Checking for uxtheme.h... yes
    Checking for CUPS... no
    Checking for DB2 (IBM)... no
    Checking for InterBase... no
    Checking for MySQL... no
    Checking for OCI (Oracle)... no
    Checking for ODBC... yes
    Checking for PostgreSQL... no
    Checking for SQLite (version 2)... no
    Checking for TDS (Sybase)... no
    Checking for Direct3D 12... no
    Checking for SDL2... no
    Checking for Assimp... no
    Checking for Autodesk FBX... no
    Checking for Wayland EGL library... no
    Checking for BlueZ... no
    Checking for WinRT Bluetooth API... no
    Checking for sensorfw... no
    Checking for Gypsy... no
    Checking for WinRT Geolocation API... no
    Checking for DirectShow... yes
    Checking for evr.h... yes
    Checking for GStreamer 1.0... no
    Checking for GStreamer 0.10... no
    Checking for OpenAL... no
    Checking for libresourceqt5... no
    Checking for Windows Audio Services... no
    Checking for WMF... no
    Checking for wmsdk.h... no
    Checking for WShellItem... yes
    Checking for libclang... no
    Done running configuration tests.
    
    Configure summary:
    
    Build type: win32-g++ (i386, CPU features: <none>)
    Compiler: gcc 7.3.0
    Configuration: sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl compile_examples f16c largefile optimize_debug precompile_header rdrnd shani x86SimdAlways debug c++11 c++14 c++1z concurrent dbus no-pkg-config release_tools static static_runtime stl
    Build options:
      Mode ................................... debug; optimized tools
      Optimize debug build ................... yes
      Building shared libraries .............. no
      Using C standard ....................... C11
      Using C++ standard ..................... C++1z
      Using gold linker ...................... no
      Generating GDB index ................... no
      Using precompiled headers .............. yes
      Using LTCG ............................. no
      Target compiler supports:
        SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
        AVX .................................. AVX AVX2
        AVX512 ............................... F ER CD PF DQ BW VL IFMA VBMI
        Other x86 ............................ AES F16C RDRAND SHA
        Intrinsics without -mXXX option ...... yes
      Build parts ............................ libs
      App store compliance ................... no
    Qt modules and options:
      Qt Concurrent .......................... yes
      Qt D-Bus ............................... yes
      Qt D-Bus directly linked to libdbus .... no
      Qt Gui ................................. yes
      Qt Network ............................. yes
      Qt Sql ................................. yes
      Qt Testlib ............................. yes
      Qt Widgets ............................. yes
      Qt Xml ................................. yes
    Support enabled for:
      Using pkg-config ....................... no
      udev ................................... no
      Using system zlib ...................... no
    Qt Core:
      DoubleConversion ....................... yes
        Using system DoubleConversion ........ no
      GLib ................................... no
      iconv .................................. no
      ICU .................................... no
      Tracing backend ........................ <none>
      Logging backends:
        journald ............................. no
        syslog ............................... no
        slog2 ................................ no
      Using system PCRE2 ..................... no
    Qt Network:
      getifaddrs() ........................... no
      IPv6 ifname ............................ no
      libproxy ............................... no
      OpenSSL ................................ no
        Qt directly linked to OpenSSL ........ no
      OpenSSL 1.1 ............................ no
      DTLS ................................... no
      SCTP ................................... no
      Use system proxies ..................... yes
    Qt Gui:
      Accessibility .......................... yes
      FreeType ............................... yes
        Using system FreeType ................ no
      HarfBuzz ............................... yes
        Using system HarfBuzz ................ no
      Fontconfig ............................. no
      Image formats:
        GIF .................................. yes
        ICO .................................. yes
        JPEG ................................. yes
          Using system libjpeg ............... no
        PNG .................................. yes
          Using system libpng ................ no
      EGL .................................... no
      OpenVG ................................. no
      OpenGL:
        ANGLE ................................ no
        Desktop OpenGL ....................... yes
        Dynamic OpenGL ....................... no
        OpenGL ES 2.0 ........................ no
        OpenGL ES 3.0 ........................ no
        OpenGL ES 3.1 ........................ no
        OpenGL ES 3.2 ........................ no
      Vulkan ................................. no
      Session Management ..................... yes
    Features used by QPA backends:
      evdev .................................. no
      libinput ............................... no
      INTEGRITY HID .......................... no
      mtdev .................................. no
      tslib .................................. no
      xkbcommon .............................. no
      X11 specific:
        XLib ................................. no
        XCB Xlib ............................. no
        EGL on X11 ........................... no
    QPA backends:
      DirectFB ............................... no
      EGLFS .................................. no
      LinuxFB ................................ no
      VNC .................................... no
      Mir client ............................. no
      Windows:
        Direct 2D ............................ yes
        DirectWrite .......................... yes
        DirectWrite 2 ........................ yes
    Qt Sql:
      SQL item models ........................ yes
    Qt Widgets:
      GTK+ ................................... no
      Styles ................................. Fusion Windows WindowsVista
    Qt PrintSupport:
      CUPS ................................... no
    Qt Sql Drivers:
      DB2 (IBM) .............................. no
      InterBase .............................. no
      MySql .................................. no
      OCI (Oracle) ........................... no
      ODBC ................................... yes
      PostgreSQL ............................. no
      SQLite2 ................................ no
      SQLite ................................. no
        Using system provided SQLite ......... no
      TDS (Sybase) ........................... no
    Qt Testlib:
      Tester for item models ................. yes
    Qt SerialBus:
      Socket CAN ............................. no
      Socket CAN FD .......................... no
    Qt QML:
      QML network support .................... yes
      QML debugging and profiling support .... yes
      QML sequence object .................... yes
      QML list model ......................... yes
      QML XML http request ................... yes
      QML Locale ............................. yes
      QML delegate model ..................... yes
    Qt Quick:
      Direct3D 12 ............................ no
      AnimatedImage item ..................... yes
      Canvas item ............................ yes
      Support for Qt Quick Designer .......... yes
      Flipable item .......................... yes
      GridView item .......................... yes
      ListView item .......................... yes
      TableView item ......................... yes
      Path support ........................... yes
      PathView item .......................... yes
      Positioner items ....................... yes
      Repeater item .......................... yes
      ShaderEffect item ...................... yes
      Sprite item ............................ yes
    Qt Scxml:
      ECMAScript data model for QtScxml ...... yes
    Qt Gamepad:
      SDL2 ................................... no
    Qt 3D:
      Assimp ................................. yes
      System Assimp .......................... no
      Output Qt3D Job traces ................. no
      Output Qt3D GL traces .................. no
      Use SSE2 instructions .................. no
      Use AVX2 instructions .................. no
      Aspects:
        Render aspect ........................ yes
        Input aspect ......................... yes
        Logic aspect ......................... yes
        Animation aspect ..................... yes
        Extras aspect ........................ yes
    Qt 3D Renderers:
      OpenGL Renderer ........................ yes
    Qt 3D GeometryLoaders:
      Autodesk FBX ........................... no
    Qt Wayland Client ........................ no
    Qt Wayland Compositor .................... no
    Qt Bluetooth:
      BlueZ .................................. no
      BlueZ Low Energy ....................... no
      Linux Crypto API ....................... no
      WinRT Bluetooth API (desktop & UWP) .... no
    Qt Sensors:
      sensorfw ............................... no
    Qt Quick Controls 2:
      Styles ................................. Default Fusion Imagine Material Universal
    Qt Quick Templates 2:
      Hover support .......................... yes
      Multi-touch support .................... yes
    Qt Positioning:
      Gypsy GPS Daemon ....................... no
      WinRT Geolocation API .................. no
    Qt Location:
      Qt.labs.location experimental QML plugin . yes
      Geoservice plugins:
        OpenStreetMap ........................ yes
        HERE ................................. yes
        Esri ................................. yes
        Mapbox ............................... yes
        MapboxGL ............................. yes
        Itemsoverlay ......................... yes
    QtXmlPatterns:
      XML schema support ..................... yes
    Qt Multimedia:
      ALSA ................................... no
      GStreamer 1.0 .......................... no
      GStreamer 0.10 ......................... no
      Video for Linux ........................ no
      OpenAL ................................. no
      PulseAudio ............................. no
      Resource Policy (libresourceqt5) ....... no
      Windows Audio Services ................. no
      DirectShow ............................. yes
      Windows Media Foundation ............... no
      Media player backend ................... DirectShow
    Qt Tools:
      QDoc ................................... no
    
    Note: Using static linking will disable the use of dynamically
    loaded plugins. Make sure to import all needed static plugins,
    or compile needed modules into the library.
    
    Note: No wayland-egl support detected. Cross-toolkit compatibility disabled.
    
    WARNING: QDoc will not be compiled, probably because libclang could not be located. This means that you cannot build the Qt documentation.
    
    Either ensure that llvm-config is in your PATH environment variable, or set LLVM_INSTALL_DIR to the location of your llvm installation.
    On Linux systems you may be able to install libclang from a package. On macOS you could use Homebrew's llvm package.
    On Windows you need to set LLVM_INSTALL_DIR to the installation path.
    
    Qt is now configured for building. Just run 'mingw32-make'.
    Once everything is built, you must run 'mingw32-make install'.
    Qt will be installed into 'C:\install\Qt\5.12.1-static'.
    

    [Added code tags around long text ~kshegunov]


  • Lifetime Qt Champion

    Hi,

    What if you remove the -no-pch option ?



  • thanks for your suggestion SGaist

    So I ran:

    • configure ... without -no-pch (pre-compiled headers I think?)
    • ming32-make -j8

    It started to recompile, but hit the same issue. Two questions for you:

    1. Do I need to clean the old configuration first?
    2. Do I need to do a make clean?
    3. Why do you suspect that -no-pch is a problem (just for my understanding)?

    I read somewhere that QVector is there, and if you replace the #include <QVector> with #include "qvector.h" that file then compiles - I tired this an it worked - but it just fails further on. <QDebug> is the next one - again if I lower-case it then that file compiles.


  • Lifetime Qt Champion

    1. Yes
    2. Better would be to use an out of source build
    3. Such an idee, since the header is missing I was wondering whether the generated headers were properly created and if that option could be responsible.


  • @SGaist Ok - I am doing a git clean (at least for the top level) then a reconfigure.

    Weirdly ...-make clean seems to go on forever! stopped eventually.

    Sorry, what do you mean by out of source build - how do I do that (or link to how to do that)?

    Thanks :)


  • Lifetime Qt Champion

    As the name suggest, you build from a folder that is not in the sources.

    Unix style:

    cd /tmp
    mkdir build_qt
    cd build_qt
    /path/to/configure
    make
    make install
    

    It's easy to adapt to Windows.

    By the way, why not use the MinGW version provided with Qt ?


  • Moderators

    As it happens I was building 5.12.2 from source today. Long story short I hit the same problem you had, but in another module and another header. It was caused by a stale configuration cache file. So, run the "really clean tree" command from the wiki and it should fix itself. I do second @SGaist's advice to build out of the source tree, however!



  • @kshegunov Thanks for that, I was literally just trying to phrase a git command to clean everything - so that's a very timely reply : ))

    I am not sure why I would have a stale config file though, since I checked out fresh, but I will definitely try this! - Also by using a "not in the source" build folder as @SGaist also mentioned then the stale config file issue should disappear anyway (I think) since its a fresh folder.

    Anyway... trying now..



  • @SGaist With regard to the mingw that comes with qt - I did not see that in the repo? There is a folder called gnuwin32 but that just contains a few other tools - no gcc/make tools.



  • @SGaist @kshegunov hummm.... after a complete clean and build in a different folder and removed -no-pch, I still get the same error : (


  • Lifetime Qt Champion

    It's provided through the installer but right now I can't tell exactly where you can get it from outside of said installer.


  • Moderators

    @code_fodder said in Issue building qt 5.12 from latest git repo:

    I did not see that in the repo?

    There's no compiler in the repo. When building from git it's your responsibility to have to toolchain set up beforehand. @SGaist is thinking about the online installer for Qt, which indeed comes with a mingw distribution that can be used directly.


  • Moderators

    Could you post the configure summary as well, so we know what we're dealing with?



  • @SGaist @kshegunov Ah, ok, yes I have used that one in the past, but for re-compiling the whole project, I wanted to create a list of steps to be able to reproducibly compile qt statically. I fugured getting mingw tool chain from source forge to be the "cleanest" option (https://sourceforge.net/projects/mingw-w64/ - v7.3.0)

    Otherwise I have to install qt AND download the source from git!? ... do you think that would make a difference?

    @kshegunov out of curiosity how did your static configure/build for 5.12.2 differ from what I was doing? (just looking for other ideas)


  • Moderators

    @code_fodder said in Issue building qt 5.12 from latest git repo:

    Otherwise I have to install qt AND download the source from git!? ... do you think that would make a difference?

    You can install the source from the installer as well. But I doubt it'd make much of a difference.

    @kshegunov out of curiosity how did your static configure/build for 5.12.2 differ from what I was doing? (just looking for other ideas)

    I don't build statically. It was not much different, though, I stick to minimalistic builds:

    $> git clone git://code.qt.io/qt/qt5.git 5.12
    $> cd 5.12
    $> git checkout 5.12
    $> perl init-repository --module-subset=essential
    $> ./configure -developer-build -no-optimize-debug -opensource -confirm-license -nomake examples -nomake tests
    $> make -j12
    

    from history. I didn't provide a prefix and did a -developer-build because I wanted to debug a module inside Qt itself. If you want this for application development the appropriate flags for configure are -debug -prefix <some-dir>



  • @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                                                                        
    

  • Moderators

    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...


  • Moderators

    Just be sure to run git submodule foreach --recursive "git clean -dfx" && git clean -dfx before each configure, 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...


  • Moderators

    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)


  • Lifetime Qt Champion

    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


  • Lifetime Qt Champion

    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?


  • Moderators

    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 hit make -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...



  • btw - I did get another error few minutes later... but I have a few things I can try (its another file that can't be found) but if I struggle I will start a bew post! - setting this as resovled



  • err.... actually one last one - I forgot how you set the question to "resovled" - I am sure it used to be a tag in the heading...?



  • @code_fodder found it!....


Log in to reply