Why is qmake/jom trying to use unix commands on windows?
-
I'm trying to compile a Qt program (QCAD) and jom stops with an error saying that mv is not recognized as an internal or external command. The problem is that I'm trying to do this compiling on Windows. Why would these programs be trying to do that and/or how should I go about fixing it? Thanks. Here's the error printout:
link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:..\..\release\qcadcmd.com.exe @C:\Users\nradmin\AppData\Local\Temp\qcadcmd.com.exe.4560.6188.jom mv D:/QCAD/release/qcadcmd.com.exe D:/QCAD/release/qcadcmd.com 'mv' is not recognized as an internal or external command, operable program or batch file. jom: D:\QCAD\src\console\Makefile.Release [..\..\release\qcadcmd.com.exe] Error 1 jom: D:\QCAD\src\console\Makefile [release] Error 2 jom: D:\QCAD\src\Makefile [sub-console-release_ordered] Error 2 jom: D:\QCAD\Makefile [sub-src-release_ordered] Error 2
-
It seems to be a qmake bug, in the top qcad.pro file there is a proper "win32 { " if statement so it avoids doing "ls -d .." but further down in the console.pro file there is no "win32 {...". which is why you get an error.
Maybe just add a "win32 {" if statement to that .pro file... -
I'm trying to compile a Qt program (QCAD) and jom stops with an error saying that mv is not recognized as an internal or external command. The problem is that I'm trying to do this compiling on Windows. Why would these programs be trying to do that and/or how should I go about fixing it? Thanks. Here's the error printout:
link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:..\..\release\qcadcmd.com.exe @C:\Users\nradmin\AppData\Local\Temp\qcadcmd.com.exe.4560.6188.jom mv D:/QCAD/release/qcadcmd.com.exe D:/QCAD/release/qcadcmd.com 'mv' is not recognized as an internal or external command, operable program or batch file. jom: D:\QCAD\src\console\Makefile.Release [..\..\release\qcadcmd.com.exe] Error 1 jom: D:\QCAD\src\console\Makefile [release] Error 2 jom: D:\QCAD\src\Makefile [sub-console-release_ordered] Error 2 jom: D:\QCAD\Makefile [sub-src-release_ordered] Error 2
@333onlyhalfevil You have msys stuff in your PATH env var. Remove it.
-
@333onlyhalfevil You have msys stuff in your PATH env var. Remove it.
@Christian-Ehrlicher Thank you for the reply.
I'm not sure which PATH environment variable to remove as there are a bunch of them. Here is the complete list:
C:\Program Files (x86)\Common Files\Oracle\Java\javapath C:\Program Files\Python311\Scripts\ C:\Program Files\Python311\ C:\Windows\system32 C:\Windows C:\Windows\System32\Wbem C:\Windows\System32\WindowsPowerShell\v1.0\ C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common %SystemRoot%\system32 %SystemRoot% %SystemRoot%\System32\Wbem %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\ %SYSTEMROOT%\System32\OpenSSH\ C:\Program Files\Microsoft VS Code\bin C:\Program Files\nodejs\ C:\ProgramData\chocolatey\bin C:\Program Files (x86)\QuickTime\QTSystem\ C:\Program Files\Microsoft SQL Server\120\Tools\Binn\ C:\Program Files\dotnet\ C:\Strawberry\c\bin C:\Strawberry\perl\site\bin C:\Strawberry\perl\bin %USERPROFILE%\AppData\Local\Microsoft\WindowsApps
Also, I did some internet searching to figure out what exactly msys was and discovered that cygwin is msys. I did have cygwin installed but I removed it to try to fix the errors to no avail. However, all I did was use a command prompt to manually delete the cygwin directory within program files.
If the msys issue isn't within one of the PATH environment variables listed above, do you know how I should go about pinpointing where cygwin would've caused it?
Thanks again for your reply/time.
-
@Christian-Ehrlicher Thank you for the reply.
I'm not sure which PATH environment variable to remove as there are a bunch of them. Here is the complete list:
C:\Program Files (x86)\Common Files\Oracle\Java\javapath C:\Program Files\Python311\Scripts\ C:\Program Files\Python311\ C:\Windows\system32 C:\Windows C:\Windows\System32\Wbem C:\Windows\System32\WindowsPowerShell\v1.0\ C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common %SystemRoot%\system32 %SystemRoot% %SystemRoot%\System32\Wbem %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\ %SYSTEMROOT%\System32\OpenSSH\ C:\Program Files\Microsoft VS Code\bin C:\Program Files\nodejs\ C:\ProgramData\chocolatey\bin C:\Program Files (x86)\QuickTime\QTSystem\ C:\Program Files\Microsoft SQL Server\120\Tools\Binn\ C:\Program Files\dotnet\ C:\Strawberry\c\bin C:\Strawberry\perl\site\bin C:\Strawberry\perl\bin %USERPROFILE%\AppData\Local\Microsoft\WindowsApps
Also, I did some internet searching to figure out what exactly msys was and discovered that cygwin is msys. I did have cygwin installed but I removed it to try to fix the errors to no avail. However, all I did was use a command prompt to manually delete the cygwin directory within program files.
If the msys issue isn't within one of the PATH environment variables listed above, do you know how I should go about pinpointing where cygwin would've caused it?
Thanks again for your reply/time.
Please post the output of
echo %PATH%
-
Please post the output of
echo %PATH%
@Christian-Ehrlicher The output is as follows:
C:\WINDOWS\system32>echo %path% C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files\Python311\Scripts\;C:\Program Files\Python311\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\nodejs\;C:\ProgramData\chocolatey\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\dotnet\;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Users\nradmin\AppData\Local\Microsoft\WindowsApps;
-
@Christian-Ehrlicher The output is as follows:
C:\WINDOWS\system32>echo %path% C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files\Python311\Scripts\;C:\Program Files\Python311\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\nodejs\;C:\ProgramData\chocolatey\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\dotnet\;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Users\nradmin\AppData\Local\Microsoft\WindowsApps;
Strange - also don't see something obvious.
I would try to remove all non-needed (e.g. start with nodejs, chocolatey) and re-start. Please start with a clean build dir.#/edit: What exact Qt version do you use?
-
It seems to be a qmake bug, in the top qcad.pro file there is a proper "win32 { " if statement so it avoids doing "ls -d .." but further down in the console.pro file there is no "win32 {...". which is why you get an error.
Maybe just add a "win32 {" if statement to that .pro file... -
It seems to be a qmake bug, in the top qcad.pro file there is a proper "win32 { " if statement so it avoids doing "ls -d .." but further down in the console.pro file there is no "win32 {...". which is why you get an error.
Maybe just add a "win32 {" if statement to that .pro file...@hskoglund Adding in the win32{} if statement to console.pro fixed it.
Thank you both for your time/replies. I really appreciate it.
One more thing real quick though, when I added in the if statement, I had to manually type in the correct path within the win32 section rather than using the $${DESTDIR} because if I used $${DESTDIR} it would have forward slashes in the directory path. Do you know how to get $${DESTDIR} to use backslashes?
-