Problems with CMake on 64-bit Vista

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Problems with CMake on 64-bit Vista

Barry Hathaway
I'm having a couple of problems using CMake on a 64-bit Vista system.
The first is using the 32-bit binary download of CMake to build vxl.
The vxl build tries a number of times to use TRY_RUN. The try (compile)
part works, but the run part always fails with message complaining about a
bad side-by-side configuration:

Run Build Command:C:\PROGRA~2\MICROS~1.0\Common7\IDE\devenv.com
CMAKE_TRY_COMPILE.sln /build Debug /project cmTryCompileExec
 Microsoft (R) Visual Studio Version 9.0.21022.8. Copyright (C)
Microsoft Corp. All rights reserved.
1>------ Build started: Project: cmTryCompileExec, Configuration: Debug
x64 ------
1>Compiling...
1>Microsoft (R) C/C++ Optimizing Compiler Version 15.00.21022.08 for x64
1>Copyright (C) Microsoft Corporation.  All rights reserved.
1>cl /Od /D "WIN32" /D "_WINDOWS" /D "VXL_HAS_TYPE_OF_SIZE" /D "_DEBUG"
/D "CMAKE_INTDIR=\"Debug\"" /D "_MBCS" /FD /EHsc /RTC1 /MDd
/Fo"cmTryCompileExec.dir\Debug\\"
/Fd"C:/projects/reface/vxlbin-x64/CMakeFiles/CMakeTmp/Debug/cmTryCompileExec.pdb"
/W3 /c /Zi /TP   /Zm1000 -IC:/projects/reface/vxlbin-x64/CMakeTmp 1>  
"..\..\..\fbi\Code\vxl\config\cmake\config\vxl_platform_tests.cxx"
1>vxl_platform_tests.cxx
1>Compiling manifest to resources...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation.  All rights reserved.
1>Linking...
1>Embedding manifest...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation.  All rights reserved.
1>Build log was saved at
"file://c:\projects\reface\vxlbin-x64\CMakeFiles\CMakeTmp\cmTryCompileExec.dir\Debug\BuildLog.htm"
1>cmTryCompileExec - 0 error(s), 0 warning(s) ========== Build: 1
succeeded, 0 failed, 0 up-to-date, 0 skipped ========== The application
has failed to start because its side-by-side configuration is incorrect.
Please see the application event log for more detail

Anyway, I figured it was an issue with a 32-bit CMake trying to run a
64-bit program (why it want to
compile it with a DEBUG flag is another issue). So I tried to build a
64-bit version of CMake with
Visual Studio 2008.  I was able to run CMake on CMake without any
problems; however, the compile
failed with many errors in the header files.  This occurred whether or
not I checked the build testing option.

Any ideas to either one of these problems.  Thanks.

Barry Hathaway

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Problems with CMake on 64-bit Vista

Bill Hoffman
Barry Hathaway wrote:

> I'm having a couple of problems using CMake on a 64-bit Vista system.
> The first is using the 32-bit binary download of CMake to build vxl.
> The vxl build tries a number of times to use TRY_RUN. The try (compile)
> part works, but the run part always fails with message complaining about a
> bad side-by-side configuration:
>
> Run Build Command:C:\PROGRA~2\MICROS~1.0\Common7\IDE\devenv.com
> CMAKE_TRY_COMPILE.sln /build Debug /project cmTryCompileExec
> Microsoft (R) Visual Studio Version 9.0.21022.8. Copyright (C) Microsoft
> Corp. All rights reserved.
> 1>------ Build started: Project: cmTryCompileExec, Configuration: Debug
> x64 ------
> 1>Compiling...
> 1>Microsoft (R) C/C++ Optimizing Compiler Version 15.00.21022.08 for x64
> 1>Copyright (C) Microsoft Corporation.  All rights reserved.
> 1>cl /Od /D "WIN32" /D "_WINDOWS" /D "VXL_HAS_TYPE_OF_SIZE" /D "_DEBUG"
> /D "CMAKE_INTDIR=\"Debug\"" /D "_MBCS" /FD /EHsc /RTC1 /MDd
> /Fo"cmTryCompileExec.dir\Debug\\"
> /Fd"C:/projects/reface/vxlbin-x64/CMakeFiles/CMakeTmp/Debug/cmTryCompileExec.pdb"
> /W3 /c /Zi /TP   /Zm1000 -IC:/projects/reface/vxlbin-x64/CMakeTmp 1>  
> "..\..\..\fbi\Code\vxl\config\cmake\config\vxl_platform_tests.cxx"
> 1>vxl_platform_tests.cxx
> 1>Compiling manifest to resources...
> 1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
> 1>Copyright (C) Microsoft Corporation.  All rights reserved.
> 1>Linking...
> 1>Embedding manifest...
> 1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
> 1>Copyright (C) Microsoft Corporation.  All rights reserved.
> 1>Build log was saved at
> "file://c:\projects\reface\vxlbin-x64\CMakeFiles\CMakeTmp\cmTryCompileExec.dir\Debug\BuildLog.htm"
> 1>cmTryCompileExec - 0 error(s), 0 warning(s) ========== Build: 1
> succeeded, 0 failed, 0 up-to-date, 0 skipped ========== The application
> has failed to start because its side-by-side configuration is incorrect.
> Please see the application event log for more detail
>
> Anyway, I figured it was an issue with a 32-bit CMake trying to run a
> 64-bit program (why it want to
> compile it with a DEBUG flag is another issue).

This should work, we (at Kitware) build vxl on 64 bit systems with 32
bit cmake all the time???   What is the issue with a 32 bit cmake
running a 64 bit program?

So I tried to build a
> 64-bit version of CMake with
> Visual Studio 2008.  I was able to run CMake on CMake without any
> problems; however, the compile
> failed with many errors in the header files.  This occurred whether or
> not I checked the build testing option.

We also build CMake on 64 bit systems, although you do not need it, it
should work.   I would need to see the errors.   It sounds like you
might have a mis-installed compiler or something else odd about your
environment.


-Bill
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Problems with CMake on 64-bit Vista

Bill Hoffman
Barry Hathaway wrote:

> Bill,
>
> Thanks for you reply.
> I'm not sure what the problem is with the side-by-side stuff.
> As for building a 64-bit version I get a bunch of syntax errors starting
> with:
>
> 8>C:\cmake-2.6.4\Utilities\cmtar\libtar/libtar.h(66) : error C2143:
> syntax error : missing ')' before '*'
> 8>C:\cmake-2.6.4\Utilities\cmtar\libtar/libtar.h(66) : error C2143:
> syntax error : missing '{' before '*'

I really think you have a broken compiler install....

I think this is failing because a different try-run is failing:


CHECK_TYPE_SIZE("ssize_t" SIZEOF_SSIZE_T)


If you look at the CMakeError.log for CMake I am guessing it is the same
manifest issue.   You can also look in your build tree at the config.h
file for libtar.  You can also try using --debug-trycompile and loading
up the tryrun project by hand and seeing if you can figure out what is
wrong.  Does this compiler install work for non-cmake builds?

-Bill
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Problems with CMake on 64-bit Vista

Barry Hathaway
In reply to this post by Bill Hoffman
Just a quick update to others on the list. Bill, was correct my VS2008
installation is messed up.
Somehow the Microsoft C++ debug DLLs got deleted from winsxs which are
needed by TRY_RUN.
I guess I'll have to bite the bullet and reinstall VS2008.  Under XP you
could just copy the dlls; however,
in Vista you need a trusted installer. Thanks Bill.

Barry

Bill Hoffman wrote:

> Barry Hathaway wrote:
>> I'm having a couple of problems using CMake on a 64-bit Vista system.
>> The first is using the 32-bit binary download of CMake to build vxl.
>> The vxl build tries a number of times to use TRY_RUN. The try (compile)
>> part works, but the run part always fails with message complaining
>> about a
>> bad side-by-side configuration:
>>
>>
>
> We also build CMake on 64 bit systems, although you do not need it, it
> should work.   I would need to see the errors.   It sounds like you
> might have a mis-installed compiler or something else odd about your
> environment.
>
>
> -Bill
>
>

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Problems with CMake on 64-bit Vista

Tanguy Krotoff-3
In reply to this post by Barry Hathaway
Hi all

I have the exact same problem: a message complaining about a bad
side-by-side configuration.
I have this on a fresh VM with XP 64bits and Visual Studio 2008 SP1.

I do have the 32bits debug version of msvcr90d.dll and friends inside
C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456

I don't have any 64bits debug version of msvcr90d.dll and friends
inside C:\WINDOWS\WinSxS
I don't have a directory called something like
C:\WINDOWS\WinSxS\amd64_Microsoft.VC90.DebugCRT

So I've added C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\redist\Debug_NonRedist\amd64\Microsoft.VC90.DebugCRT
to my PATH.
Using cmake --debug-trycompile, running cmTryCompileExec.exe gives me
side-by-side error.
If I copy-paste msvcr90d.dll and friends inside the directory where
cmTryCompileExec.exe is then it works.

What I don't understand is why try_run() compiles in debug mode.
And I can't manage to make try_run() compile in release mode (that
will solve all my problems), I don't know how to overwrite the flags
specified in the file
CMakeFiles\CMakeTmp\CMakeFiles\cmTryCompileExec.dir\flags.make


So the simple question is: how to make try_run() compile in release
mode instead of debug mode?


Thanks in advance


On Fri, Jul 24, 2009 at 4:59 PM, Barry Hathaway <[hidden email]> wrote:

> I'm having a couple of problems using CMake on a 64-bit Vista system.
> The first is using the 32-bit binary download of CMake to build vxl.
> The vxl build tries a number of times to use TRY_RUN. The try (compile)
> part works, but the run part always fails with message complaining about a
> bad side-by-side configuration:
>
> Run Build Command:C:\PROGRA~2\MICROS~1.0\Common7\IDE\devenv.com
> CMAKE_TRY_COMPILE.sln /build Debug /project cmTryCompileExec
> Microsoft (R) Visual Studio Version 9.0.21022.8. Copyright (C) Microsoft
> Corp. All rights reserved.
> 1>------ Build started: Project: cmTryCompileExec, Configuration: Debug x64
> ------
> 1>Compiling...
> 1>Microsoft (R) C/C++ Optimizing Compiler Version 15.00.21022.08 for x64
> 1>Copyright (C) Microsoft Corporation.  All rights reserved.
> 1>cl /Od /D "WIN32" /D "_WINDOWS" /D "VXL_HAS_TYPE_OF_SIZE" /D "_DEBUG" /D
> "CMAKE_INTDIR=\"Debug\"" /D "_MBCS" /FD /EHsc /RTC1 /MDd
> /Fo"cmTryCompileExec.dir\Debug\\"
> /Fd"C:/projects/reface/vxlbin-x64/CMakeFiles/CMakeTmp/Debug/cmTryCompileExec.pdb"
> /W3 /c /Zi /TP   /Zm1000 -IC:/projects/reface/vxlbin-x64/CMakeTmp 1>
> "..\..\..\fbi\Code\vxl\config\cmake\config\vxl_platform_tests.cxx"
> 1>vxl_platform_tests.cxx
> 1>Compiling manifest to resources...
> 1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0 1>Copyright
> (C) Microsoft Corporation.  All rights reserved.
> 1>Linking...
> 1>Embedding manifest...
> 1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0 1>Copyright
> (C) Microsoft Corporation.  All rights reserved.
> 1>Build log was saved at
> "file://c:\projects\reface\vxlbin-x64\CMakeFiles\CMakeTmp\cmTryCompileExec.dir\Debug\BuildLog.htm"
> 1>cmTryCompileExec - 0 error(s), 0 warning(s) ========== Build: 1 succeeded,
> 0 failed, 0 up-to-date, 0 skipped ========== The application has failed to
> start because its side-by-side configuration is incorrect. Please see the
> application event log for more detail
>
> Anyway, I figured it was an issue with a 32-bit CMake trying to run a 64-bit
> program (why it want to
> compile it with a DEBUG flag is another issue). So I tried to build a 64-bit
> version of CMake with
> Visual Studio 2008.  I was able to run CMake on CMake without any problems;
> however, the compile
> failed with many errors in the header files.  This occurred whether or not I
> checked the build testing option.
>
> Any ideas to either one of these problems.  Thanks.
>
> Barry Hathaway

--
Tanguy Krotoff <[hidden email]>
+33 6 68 42 70 24
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Problems with CMake on 64-bit Vista

Bill Hoffman
Tanguy Krotoff wrote:

> Hi all
>
> I have the exact same problem: a message complaining about a bad
> side-by-side configuration.
> I have this on a fresh VM with XP 64bits and Visual Studio 2008 SP1.
>
> I do have the 32bits debug version of msvcr90d.dll and friends inside
> C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456
>
> I don't have any 64bits debug version of msvcr90d.dll and friends
> inside C:\WINDOWS\WinSxS
> I don't have a directory called something like
> C:\WINDOWS\WinSxS\amd64_Microsoft.VC90.DebugCRT
>

Are you saying that you can not build debug 64 bit programs?  That
sounds like a bad compiler install.

-Bill
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Problems with CMake on 64-bit Vista

Tanguy Krotoff-3
On Mon, Sep 14, 2009 at 3:24 PM, Bill Hoffman <[hidden email]> wrote:

> Tanguy Krotoff wrote:
>>
>> Hi all
>>
>> I have the exact same problem: a message complaining about a bad
>> side-by-side configuration.
>> I have this on a fresh VM with XP 64bits and Visual Studio 2008 SP1.
>>
>> I do have the 32bits debug version of msvcr90d.dll and friends inside
>>
>> C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456
>>
>> I don't have any 64bits debug version of msvcr90d.dll and friends
>> inside C:\WINDOWS\WinSxS
>> I don't have a directory called something like
>> C:\WINDOWS\WinSxS\amd64_Microsoft.VC90.DebugCRT
>>
>
> Are you saying that you can not build debug 64 bit programs?  That sounds
> like a bad compiler install.

No problem with that.
It's not because you don't have 64bits debug version of msvcr90d.dll
and friends inside C:\WINDOWS\WinSxS that you cannot compile a 64bits
program :)

When installing VS2008 SP1, directory
C:\WINDOWS\WinSxS\amd64_Microsoft.VC90.DebugCRT is created with the
right files inside.
With VS2008 SP1, try_run() works fine, without SP1 it does not work
with the side-by-side error

--
Tanguy Krotoff <[hidden email]>
+33 6 68 42 70 24
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Problems with CMake on 64-bit Vista

Tanguy Krotoff-3
I see that my statement from my first message is wrong:
when I got the side-by-side error message, I was using Visual Studio
2008 WITHOUT SP1
Visual Studio 2008 SP1 solves the problem by installing the right CRT
debug files.

For sure other people using VS2008 and try_run() in 64bits will get
this problem.

Still why try_run() works in debug mode instead of release mode?


On Mon, Sep 14, 2009 at 3:38 PM, Tanguy Krotoff <[hidden email]> wrote:

> On Mon, Sep 14, 2009 at 3:24 PM, Bill Hoffman <[hidden email]> wrote:
>> Tanguy Krotoff wrote:
>>>
>>> Hi all
>>>
>>> I have the exact same problem: a message complaining about a bad
>>> side-by-side configuration.
>>> I have this on a fresh VM with XP 64bits and Visual Studio 2008 SP1.
>>>
>>> I do have the 32bits debug version of msvcr90d.dll and friends inside
>>>
>>> C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456
>>>
>>> I don't have any 64bits debug version of msvcr90d.dll and friends
>>> inside C:\WINDOWS\WinSxS
>>> I don't have a directory called something like
>>> C:\WINDOWS\WinSxS\amd64_Microsoft.VC90.DebugCRT
>>>
>>
>> Are you saying that you can not build debug 64 bit programs?  That sounds
>> like a bad compiler install.
>
> No problem with that.
> It's not because you don't have 64bits debug version of msvcr90d.dll
> and friends inside C:\WINDOWS\WinSxS that you cannot compile a 64bits
> program :)
>
> When installing VS2008 SP1, directory
> C:\WINDOWS\WinSxS\amd64_Microsoft.VC90.DebugCRT is created with the
> right files inside.
> With VS2008 SP1, try_run() works fine, without SP1 it does not work
> with the side-by-side error
>
> --
> Tanguy Krotoff <[hidden email]>
> +33 6 68 42 70 24
>



--
Tanguy Krotoff <[hidden email]>
+33 6 68 42 70 24
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Problems with CMake on 64-bit Vista

Bill Hoffman
Tanguy Krotoff wrote:
> I see that my statement from my first message is wrong:
> when I got the side-by-side error message, I was using Visual Studio
> 2008 WITHOUT SP1
> Visual Studio 2008 SP1 solves the problem by installing the right CRT
> debug files.
>
> For sure other people using VS2008 and try_run() in 64bits will get
> this problem.
>
OK, so SP1 must fix some issue.
> Still why try_run() works in debug mode instead of release mode?
>

Why not debug?  It is the default build.

-Bill
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Problems with CMake on 64-bit Vista

Tanguy Krotoff-3
On Mon, Sep 14, 2009 at 3:51 PM, Bill Hoffman <[hidden email]> wrote:
> Tanguy Krotoff wrote:
>> Still why try_run() works in debug mode instead of release mode?
>
> Why not debug?  It is the default build.

humm why not in release mode (or release with debug info)?
smaller exe, faster, and I guess nobody is debugging a try_run()?

What would be nice is to easily change the compilation mode by passing
the right flags.
I didn't manage to achieve that with COMPILE_DEFINITIONS and
CMAKE_FLAGS options for try_run
Could be nice to have this documented if it is already possible.

Thanks

--
Tanguy Krotoff <[hidden email]>
+33 6 68 42 70 24
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake