Issue building Squish from sources
-
Hi everyone, I'm currently trying to build Squish from source since we need to automate the tests on a statically linked Qt application.
I've been following the instructions found here.
However i'm faced with an error : "Skipping qmake output: Could not find qmake spec 'win32-msvc'." Here's the content of the generated config.log :
: Command line: E:\Qt\Squish\builddir\conf.exe E:\Qt\Squish\squish-src-7.1.1\configure.cos --with-qmake=E:\Qt\Qt6.2.6\qt-install-6.2.6\bin\qmake --enable-qmake-config --with-squishidl=E:\Qt\Squish\Squish for Qt 7.1.0\bin\squishidl.exe --disable-all --enable-qt : platform: Windows : system: undefined : machine: undefined : cwd: E:\Qt\Squish\builddir : Environment: : CXX = : XCXX = : INCLUDE = C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\include;C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\ATLMFC\include;C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\VS\include;C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\um;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\shared;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\winrt;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\cppwinrt;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um : LIB = C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\ATLMFC\lib\x64;C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\lib\x64;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.22000.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\\lib\10.0.22000.0\\um\x64 : PATH = C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\bin\HostX64\x64;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\VC\VCPackages;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\bin\Roslyn;C:\Program Files\Microsoft Visual Studio\2022\Professional\Team Tools\Performance Tools\x64;C:\Program Files\Microsoft Visual Studio\2022\Professional\Team Tools\Performance Tools;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\vs2019\\x64;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\vs2019\;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\FSharp\Tools;C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\\x64;C:\Program Files (x86)\Windows Kits\10\bin\\x64;C:\Program Files\Microsoft Visual Studio\2022\Professional\\MSBuild\Current\Bin\amd64;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\Tools\;C:\Program Files (x86)\VMware\VMware Workstation\bin\;C:\Program Files\Microsoft MPI\Bin\;C:\Program Files\AdoptOpenJDK\jdk-11.0.10.9-openj9\bin;C:\Program Files\Common Files\Oracle\Java\javapath;c:\PROGRA~1\ds_shell\code\bin\ds_shell;C:\Oracle12C_64bCli\client_1\bin;C:\Oracle12C_32bCli\client_1\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Windows\system32\config\systemprofile\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;c:\Program Files (x86)\Pulse Secure\VC142.CRT\X64\;c:\Program Files (x86)\Pulse Secure\VC142.CRT\X86\;C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-openj9\bin;C:\Program Files\CMake\bin;C:\Program Files\Microsoft Network Monitor 3\;C:\Program Files (x86)\PuTTY\;c:\Program Files (x86)\Common Files\Pulse Secure\TNC Client Plugin\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Git\cmd;C:\Users\pll3\AppData\Local\activestate\cache\bin;C:\Users\pll3\AppData\Local\ActiveState\StateTool\release;C:\Users\pll3\AppData\Local\Microsoft\WindowsApps;C:\DbgPrg;C:\Program Files\Perl\perl\bin;C:\Program Files\Jom;C:\Users\pll3\.dotnet\tools;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\VC\Linux\bin\ConnectionManagerExe : QMAKESPEC = : LD_LIBRARY_PATH = : DYLD_LIBRARY_PATH = : Configuring Squish 7.1.1 (0x070101f0) ? Checking for qmake : Using --with-qmake value: E:\Qt\Qt6.2.6\qt-install-6.2.6\bin\qmake : Exec: E:\Qt\Qt6.2.6\qt-install-6.2.6\bin\qmake -query QMAKE_VERSION -nocache 2> sqerror_.log : Status: 0 : Command Output: 3.1 : Command Error Output: <none> > found version 3.1 ? Checking which iOS platform to build for > none (not on macOS) ? Checking for C++ compiler : Fetching C++ compiler from qmake : Evaluating qmake script: for(entry,QMAKE_CXX):message(__SQUISH__$${entry}) : Executing "E:\Qt\Qt6.2.6\qt-install-6.2.6\bin\qmake -makefile qmdummy.pro -o qmdummy.tmp -nocache CONFIG-=debug_and_release 2>&1" : Captured output: Could not find qmake spec 'win32-msvc'. Error processing project file: qmdummy.pro : Skipping qmake output: Could not find qmake spec 'win32-msvc'. : Skipping qmake output: Error processing project file: qmdummy.pro : markedLinesFromQmakeOutput: found 0 lines # Could not fetch C++ compiler via qmake. Please verify if qmake works correctly outside of Squish.
From my (limited) understanding, the issue is that QMake can't seem to find my c++ compiler. I've never used QMake before (since I used CMake to build my version of Qt6.2.6, which could explain why my QMake "isn't set up".
I think that "E:\Qt\Qt6.2.6\qt-install-6.2.6\mkspecs\win32-msvc\qmake.conf" being basically empty (it's just a boilerplate right now) is the core issue, but I have no idea on how fixing that correctly or even what to add if I were to manually fill that file.
I've tried searching online to no avail :(Thanks in advance for your help !
PS : It occured to me that having the command line used to build my version of Qt might be relevant so here goes :
(called from an empty "build" folder next to the sources folder)CALL ..\qt-src-6.2.6\configure -prefix E:\Qt\Qt6.2.6\qt-install-6.2.6 -release -static -feature-relocatable -qt-zlib -qt-libpng -qt-libjpeg -qt-pcre -qt-freetype -qt-harfbuzz -submodules qtbase,qtsvg
-
@jsulm said in Issue building Squish from sources:
@PLL3 Do you call configure from the terminal provided by your Qt installation? This is important because it configures the environment properly.
Hi, I'm not sure I fully understand what you mean. I've looked through most of folders of my Qt install, the Qt build and even the Qt sources folders, and I haven't been able to find a terminal/command line app.
Do you maybe mean the terminal I used to build/install Qt should be re-used for building Squish ?
-
@PLL3 Look in Windows start menu, it should be there (Qt installer adds menu entries there). Also your Qt installation for sure has it in the installation folder.
See https://stackoverflow.com/questions/24219732/where-can-i-found-qt-5-3-0-command-prompt -
@jsulm I have found the terminal you talked about, and sadly it didn't solve my problem, I have the exact same error as before.
Using this new terminal, I tried all the things I had already tried, same result everytime :sI was confused because my Qt installation truly did not have such a terminal. I had to download a Qt6.2.6 version from the downloader/installer, I could then see the Qt terminal in my start menu and there was a qtenv2.bat file in the newly made install folder.
But that newly downloaded Qt6.2.6 version is not the one I need to use. Our application is using a custom static library of Qt6.2.6 that I built myself from the sources using CMake. This is the one that I need to use with Squish, not the one I just got from their installer.
But for some reason my custom qt build does not have this "qtenv2.bat".
Right now I'm thinking that it's the way I build my version of Qt6.2.6 that causes the issue. I must've missed an option used for setting up Qmake and such.
-
@jsulm I already do that, my build script wipes the folder before starting anything. Since making this post yesterday, I've must've rebuilt Qt close to a dozen time, all giving the same message when trying to build Squish afterward.
Here's the command line used to build my Qt :
CALL ..\qt-src-6.2.6\configure -prefix E:\Qt\Qt6.2.6\qt-install-6.2.6 -release -static -feature-relocatable -qt-zlib -qt-libpng -qt-libjpeg -qt-pcre -qt-freetype -qt-harfbuzz -submodules qtbase,qtsvg
It's a pretty simple call with not a lot of options/arguments, not really sure what's going wrong there.
After that i simply call
cmake --build . --parallel cmake --install .
As instructed in the doc.
So far I've had no issues using the produced libs in our app.
From my understanding the issue I have is Qmake not being correctly setup/initialized, but since Qmake is being phased out I've been using CMake from the start. Before making this post I tried building my custom Qt6.2.6 using Qmake, in the hopes that Qmake would then "work", but I don't think it's possible. -