Fwd: Re: [CMake] Running cmake to create binaries on a VFAT partition (LINUX)

Bill Hoffman bill.hoffman at kitware.com
Sun Aug 19 13:11:35 EDT 2007


Clemens Arth wrote:
> Hi,
>
> yes, being a user cmake is working for all projects where the output should not be placed on my vfat partition. Anyway, I had a look at the CMakeOutput file, but it did not contain any valuable information. The CMakeError file didn't even exist. The interesting thing is, that I've now figured out that it works also on vfat partition being user, but I had to call cmake twice to get all files built.
>
> Calling Cmake the first time resulted in:
>
> CMake Error: Error in cmake code at
> /usr/share/cmake-2.4/Modules/CMakeDetermineSystem.cmake:81:
> CONFIGURE_FILE Problem configuring file
> Current CMake stack: /media/data/FRAMEWORK/code/CMakeLists.txt;/usr/share/cmake-2.4/Modules/CMakeDetermineSystem.cmake
>   
OK, the best place to start is the first error, and that is here:

CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeSystem.cmake.in
               
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeSystem.cmake
               IMMEDIATE)

CMake is unable to write files into the binary directory for some 
reason.  Can you create files in that
directory by hand with other tools (cat, emacs, etc).   If yes, the next 
step would be to use a cmake
script to try to write to the disk.

cmake -P foo.cmake

where foo.cmake has
configure_file(somefile somefile_on_vfat_disk)

Does that work without error?

You may have to debug cmake to find the problem, looking at the code, my 
guess is the problem is here:
Source/kwsys/SystemTools.cxx:

 if ( perms )
    {
    if ( !SystemTools::SetPermissions(destination, perm) )
      {
      return false;
      }
    }

It sounds like the files are getting created, but after they are created 
cmake is unable to set the permissions on the files.

Can you create a file and then run chmod from the command line?    What 
are the permissions for the files in the CMakeFiles directory?  Can you 
chmod them?

-Bill




More information about the CMake mailing list