[Vm-dev] Problem with recent CMake

Igor Stasenko 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:
> Hi,
> 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
> http://damiencassou.seasidehosting.st
> "Success is the ability to go from one failure to another without losing enthusiasm."
> Winston Churchill

Best regards,
Igor Stasenko.

More information about the Vm-dev mailing list