[CMake] CMake 2.8.2 with WindRiver diab compiler dcc.exe/dplus.exe on WinXP: CMake Error: Could not COPY_FILE. while detecting compiler ABI
Molsen, Hannes
Hannes.Molsen at draeger.com
Fri Sep 17 02:47:06 EDT 2010
Hi Brad,
I know that [1] is not supposed to be a "workaround", but the COPY_FILE problem just does not exist if I try to debug with --debug-trycompile! That's why it actually IS a workaround :) This was also observed by the user aaron as he replies in [2]. Therefore I do not have a CMakeError.log (It just doesn't exist, as there was no error with --debug-trycompile) and the CMakeOutput.log is not very helpful, too. But here it comes: (Compiler flags replaced by [...] for simplicity)
=== CMakeOutput.log : > Line 111 ===
Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.obj
D:\CCView\tools\tornado\host\diab\WIN32\bin\dplus.exe -XO [...] -o CMakeFiles\cmTryCompileExec.dir\CMakeCXXCompilerABI.cpp.obj -c "C:\Program Files\CMake 2.8\share\cmake-2.8\Modules\CMakeCXXCompilerABI.cpp"
Linking CXX executable cmTryCompileExec
"C:\Program Files\CMake 2.8\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTryCompileExec.dir\link.txt --verbose=1
D:\CCView\tools\tornado\host\diab\WIN32\bin\dplus.exe -XO [...] CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.obj -o cmTryCompileExec
mingw32-make.exe[1]: Leaving directory `D:/CCView/binaries/PPC603diab/rat/Framework/CMakeFiles/CMakeTmp'
=== CMakeOutput.log : < Line 121 ===
I read all of the replies of the [1,2] discussion and I always start with a clean build tree. Just a second run of CMake without --debug-trycompile is not helping either.
Just to clarify some steps I tried:
Clean build tree {clean}
Leave build tree {leave}
Run CMake {run}
run CMake --debug-trycompile {debug}
i) clean -> run
COPY_FILE error
ii) clean -> debug
COPY_FILE error
iii) clean -> run | leave -> run
COPY_FILE error | COPY_FILE error
iv) clean -> debug | leave -> run
COPY_FILE error | COPY_FILE error
v) clean -> run | leave -> debug
COPY_FILE error | !NO ERROR!
vi) clean -> debug | leave -> debug
COPY_FILE error | !NO ERROR!
So it has to do something with the files that are not being deleted in debug mode after (!) making a clean buid. If I {run} or {debug} a third time after !NO ERROR! there is still no error (of course, because the Compiler ABI is not checked again.)
Any more suggestions? I still don't know what file CMake tries to copy and why it does not find it. Maybe it is a file that is deleted somehow in a normal run (without --debug-trycompile) and is not deleted with the debug option?
Or does the second {debug} does not check the compiler ABI at all?
[1] http://www.cmake.org/pipermail/cmake/2010-May/037118.html
[2] http://www.cmake.org/pipermail/cmake/2010-May/037120.html
-----Original Message-----
From: Brad King [mailto:brad.king at kitware.com]
Sent: Donnerstag, 16. September 2010 18:11
To: Molsen, Hannes
Cc: David Cole; cmake at cmake.org
Subject: Re: [CMake] CMake 2.8.2 with WindRiver diab compiler dcc.exe/dplus.exe on WinXP: CMake Error: Could not COPY_FILE. while detecting compiler ABI
On 09/16/2010 08:11 AM, Molsen, Hannes wrote:
> -- Detecting C compiler ABI info
> CMake Error: Could not COPY_FILE.
> OutputFile: ''
> copyFile: 'D:/CCView/binaries/PPC603diab/rat/Framework/CMakeFiles/CMakeDetermineCompilerABI_C.bin'
>
> Unable to find executable for try_compile: tried "D:/CCView/binaries/PPC603diab/rat/Framework/CMakeFiles/CMakeTmp/cmTryCompileExec" and "D:/CCView/binaries/PPC603diab/rat/Framework/CMakeFiles/CMakeTmp/Debug/cmTryCompileExec" and "D:/CCView/binaries/PPC603diab/rat/Framework/CMakeFiles/CMakeTmp/Development/cmTryCompileExec".
[snip]
> What causes CMake to fail at the COPY_FILE stage?
> How can I fix this without having to run CMake a second time with --debug-trycompile?
The message you mentioned [1] is suggesting the --debug-trycompile
option to help diagnose the problem, not as a workaround. In a
fresh build tree, without --debug-trycompile, after this error
is reported, look for CMakeFiles/CMakeOutput.log. It should have
the ABI detection attempt. What is the reported output?
-Brad
[1] http://www.cmake.org/pipermail/cmake/2010-May/037118.html
---
This communication contains confidential information. If you are not the intended recipient please return this email to the sender and delete it from your records.
Diese Nachricht enthält vertrauliche Informationen. Sollten Sie nicht der beabsichtigte Empfänger dieser E-mail sein, senden Sie bitte diese an den Absender zurück und löschen Sie die E-mail aus Ihrem System.
More information about the CMake
mailing list