Thanks, Andrew, Bill, and Zan! I'm not completely certain that reinstalling
Windows is the only or even the best solution, but once we all moved our
repositories into our root directories I have not found another solution,
even temporary. Of our six dev machines, it is a recurring problem on two
and has occurred once on a third. The other three have never seen this

I did some digging on Friday and found that the problem seems to be
connected to this call below to add all of our code files to a library to
be used an item in the add_executable() command for each of our targets.

foreach (code ${code_files})
    get_filename_component (codeName ${code} NAME_WE)
    add_library (${codeName} OBJECT
  list(APPEND codelib $<TARGET_OBJECTS:${codeName}>)

If I remove that loop and add code_files instead of codelib to the
executables then the problem disappears, but this breaks most of the
functionality of my implementation of CMake, so this isn't a long-term
solution. Using the library call above I followed the file paths around the
script and printed them out at every step through the makefile generation
and never saw any incorrect paths, but then I called the compiler and saw
it error out.

The project uses "Unix Makefiles" to run on TI's gmake compiler 7.4.14. I'm
have been using CMake 3.5.2. I upgraded to 3.6.2 and continue to see the
same problem. I will move forward with looking into this library issue but
I'm sure what I expect to find.

On Fri, Oct 14, 2016 at 10:16 AM, Andrew Bell <>

> On Fri, Oct 14, 2016 at 9:04 AM, Randy Turner <>
> wrote:
>> Hello! I've been running into a frustrating issue on and off for the past
>> year. The project will build the source files correctly but when it comes
>> to linking the executables, I always get the same error. The specific file
>> varies, but the failure mode is always the same. For example:
>> <Linking>
>> "C:\\Users\\User\\AppData\\Local\\Temp\\<six digit temp file>", line
>> xxx: error #10008-D: cannot find file
>> "C:/Repos/operatingsystem/CMakeFiles/nvm_validate_ierator.di
>> r/os/nvm/nvm_validate_iterator.c.obj"
>> As you can see, the file path is missing a "t" in the first occurrence of
>> the word "iterator" and so that file definitely does not exist. A file
>> exists in the location with correct spelling, but somehow that hardcoded
>> path in that temporary file has dropped a letter. The specific letter that
>> gets dropped varies along with which file is allegedly missing. We noticed
>> that requiring people to store the repository in their root directory
>> greatly cut down on the occurrence of this issue but it is returning with
>> more frequency as of late. Once it occurs once, CMake builds are never
>> successful again and the only way that I have been able to completely clear
>> the problem has been to reinstall Windows and set up the build environment
>> again.
> This seems really, really strange.  Have to reinstall Windows?  What about
> just using another build directory?  It sure *seems* like there's some
> problem in your CMakeFiles.txt where the way the filepath is being
> constructed is incorrect.  But I don't think you've really provided enough
> information to determine the problem.  Where does the name of the object
> file come from?
> --
> Andrew Bell

Powered by

Please keep messages on-topic and check the CMake FAQ at:

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support:
CMake Consulting:
CMake Training Courses:

Visit other Kitware open-source projects at

Follow this link to subscribe/unsubscribe:

Reply via email to