[Vm-dev] Problem with recent CMake
siguctua at gmail.com
Sun Apr 14 17:25:13 UTC 2013
On 14 April 2013 19:12, Damien Cassou <damien.cassou at gmail.com> wrote:
> recent CMake versions won't compile the VM. Error message is always:
> $ cmake .
> CMake Error: Could not open file for write in copy operation /CMakeSystem.cmake.tmp
> CMake Error: : System Error: Permission denied
> CMake Error at /home/cassou/cmake/Modules/CMakeDetermineSystem.cmake:172 (configure_file):
> configure_file Problem configuring file
> Call Stack (most recent call first):
> CMakeLists.txt:3 (include)
> I did a git-bisect of the cmake source code to find which cmake's commit stopped working for the VM. The offending cmake commit is:
> commit 7195aca54f40778f41894c9e62649afe09e71d6c
> Author: Brad King <brad.king at kitware.com>
> Date: Fri Aug 24 08:48:59 2012 -0400
> Make platform information files specific to the CMake version
> At the top of a build tree we configure inside the CMakeFiles directory
> files such as "CMakeSystem.cmake" and "CMake<lang>Compiler.cmake" to
> save information detected about the system and compilers in use. The
> method of detection and the exact results store varies across CMake
> versions as things improve. This leads to problems when loading files
> configured by a different version of CMake. Previously we ignored such
> existing files only if the major.minor part of the CMake version
> component changed, and depended on the CMakeCache.txt to tell us the
> last version of CMake that wrote the files. This led to problems if the
> user deletes the CMakeCache.txt or we add required information to the
> files in a patch-level release of CMake (still a "feature point" release
> by modern CMake versioning convention).
> Ensure that we always have version-consistent platform information files
> by storing them in a subdirectory named with the CMake version. Every
> version of CMake will do its own system and compiler identification
> checks even when a build tree has already been configured by another
> version of CMake. Stored results will not clobber those from other
> versions of CMake which may be run again on the same tree in the future.
> Loaded results will match what the system and language modules expect.
> Rename the undocumented variable CMAKE_PLATFORM_ROOT_BIN to
> CMAKE_PLATFORM_INFO_DIR to clarify its purpose. The new variable points
> at the version-specific directory while the old variable did not.
> I attach the patch of this commit to this email. I have no idea what we can do about it.
remove lines in CMakeLists.txt one by one to see if it can change anything.
but i think this is a bug of cmake.
> Damien Cassou
> "Success is the ability to go from one failure to another without losing enthusiasm."
> Winston Churchill
More information about the Vm-dev