Hi Randy, The missing character issue is likely due to some stage of your build process hitting a command line length limit on Windows. Similar problems have been described in 3D Slicer builds [1] [2], although in that case the problems were related to (a) many include directories and (b) explicitly passing a long command line to add_custom_command().
Your project may be different, because the error occurs while linking, but hopefully these references help. Thanks, Max [1] http://slicer-devel.65872.n3.nabble.com/VS2008-build- td4032311.html#a4032337 [2] https://www.na-mic.org/Bug/view.php?id=3157 On Mon, Oct 17, 2016 at 10:59 AM, Randy Turner <randallsturne...@gmail.com> wrote: > 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 problem. > > 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 > ${code} > ) > list(APPEND codelib $<TARGET_OBJECTS:${codeName}>) > endforeach() > > 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 <andrew.bell...@gmail.com> > wrote: > >> On Fri, Oct 14, 2016 at 9:04 AM, Randy Turner <randallsturne...@gmail.com >> > 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 >> andrew.bell...@gmail.com >> > > > -- > > Powered by www.kitware.com > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Kitware offers various services to support the CMake community. For more > information on each offering, please visit: > > CMake Support: http://cmake.org/cmake/help/support.html > CMake Consulting: http://cmake.org/cmake/help/consulting.html > CMake Training Courses: http://cmake.org/cmake/help/training.html > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/cmake >
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake