MantisBT - CMake
View Issue Details
0002617CMakeCMakepublic2005-12-15 04:322006-10-04 14:02
axelus 
Bill Hoffman 
normalmajoralways
closedfixed 
 
 
0002617: Test Big Endian failed
I am installing ITK, using CMake 2.2.3. I have got many times a message from CMake saying "CMake Error: TestBigEndian failed to run with output: VS version 8 2005" and then some long text with details.
This function is under C:\Program Files\CMake 2.2\share\CMake\Modules

Is this a known bug? Is ITK going to work afterwards?

Thanks, axel
No tags attached.
gif error3.GIF (78,574) 1969-12-31 19:00
https://public.kitware.com/Bug/file/428/error3.GIF
gif

diff CMake-UseFAT32Workaround.diff (917) 1969-12-31 19:00
https://public.kitware.com/Bug/file/550/CMake-UseFAT32Workaround.diff
Issue History

Notes
(0003415)
Bill Hoffman   
2005-12-15 09:35   
Can you send the long text with details, it may help to solve the problem. It is not a known bug.
(0003431)
Bill Hoffman   
2005-12-16 10:21   
Brad, can you look at this some?
(0003436)
Brad King   
2005-12-16 14:21   
This error means CMake does not think Visual Studio is able to run properly. It then gives up and does not generate a build system, so ITK will not work after this error occurs.

The last line of the error message is:

Exit code 0xc0000135

which in Windows means "DLL not found". This probably means that Visual Studio is trying to load some internal plugin and fails. Then it reports this failure to CMake which in turn thinks the build failed.

Were there any other popups that occurred?
(0003447)
Brad King   
2005-12-16 17:02   
Axel Wrote:
> Only this popup appeared, but it appeared 3 or 4 times.
> Something I can do to fix it?

Unfortunately I think it is a bug in Visual Studio 8 when it runs from the command line. ITK does many try-compile tests that require CMake to execute VS behind the scenes to test compilation of some small source file. Of these many tests only a few are failing.

We are seeing the same problem in CMake's nightly testing. Some subset of the tests seem to randomly fail with a similar problem when using VS 8.

A work-around would be to find the CMake internal cache variables being created to record the results of the try-compile tests that are failing in this way. Deleting the cache entries (by manually editing CMakeCache.txt while CMake is not running) and then re-running CMake will cause it to run the tests again. Repeat this process until none of them fail. Then the ITK build should work correctly.

I know this is painful but unfortunately we don't have very much control over VS 8. If we can find a work-around in the way we execute VS 8 try-compiles to avoid this issue we will certainly implement it.
(0003449)
Brad King   
2005-12-16 17:04   
Sorry about the single giant paragraph replies. There seems to be a problem with the recently upgraded bug-tracker that is packing my nicely formatted responses together into one block.
(0004275)
Obada Mahdi   
2006-06-15 21:17   
I recently experienced the same symptoms trying to build VTK (CVS version) on Windows XP Home using CMake 2.4.2 (or CVS version) and Visual Studio 8 Professional.

Here are some additional information that helped me to solve this issue in my case, which links the problem to builds on FAT32 file systems.

The missing DLL causing exit code 0xc0000135 running "cmTryCompileExec.exe" has been "msvcr80d.dll" in my situation. I have found some helpful information in [1] regarding similar problems: Apparently, there is an issue with file modification timestamps when building on a FAT32 file system (which I am doing), which would sometimes mix up the build process and have a bad manifest embedded into the resulting executable.

I have verified that this is what was causing the trouble in my situation, by grabbing a failing "cmTryCompileExec.exe" and examining the embedded manifest -- it was an empty XML skeleton.

Two possible solutions that worked for me are:
- using a build directory on a NTFS partition
- setting the "UseFAT32Workaround" property of "VCManifestTool" to "true", as suggested in [1]

I am attaching a small CMake source diff [2] that will unconditionally add the aforementioned flag to VS8 vcproj files.

HTH (sorry for the traffic if it is old news)

----
[1] http://forums.microsoft.com/msdn/showpost.aspx?postid=15218&siteid=1 [^]

[2] attached CMake-UseFAT32Workaround.diff, http://www.cmake.org/Bug/attachment.php?attachid=554 [^]
(0004287)
Brad King   
2006-06-19 15:36   
I'm re-assigning this to Bill to commit the patch.
(0005160)
Bill Hoffman   
2006-10-04 14:02   
Checking for path: /cvsroot/CMake/CMake/Source
Unrestricted user: hoffman
/cvsroot/CMake/CMake/Source/cmLocalVisualStudio7Generator.cxx,v <-- cmLocalVisualStudio7Generator.cxx
new revision: 1.152; previous revision: 1.151

fixed in cvs.