orocos toolchain 2.3.0 compile error under windows

Hello,
I'm new to orocos. I mainly want to give it a try due to its windows
support. However I did not manage to install orocos with its
dependencies for over two days now.

My system is:

Windows7 64 bit
Microsoft Visual Studio 2010
boost 1_44
ACE version 5.6a_p10
cmake 2.8.4
orocos toolchain2.3.0

I found this outdated install instruction for windows (is there anything
newer?):
http://www.orocos.org/wiki/rtt/rtt-ms-windows/compiling-rtt-1100-windows...

Following this I installed boost and ace/tao, edited the
orocos-rrt.cmake file and did the configure generate in the cmake gui.
Now I want to compile the generated solution in mvs2010.
The ZERO_CHECK target builds without errors.

The INSTALL target failed with:

4>CustomBuild:
4> Generating ConfigurationInterfaceS.cpp, ConfigurationInterfaceC.cpp,
ConfigurationInterfaceS.h, ConfigurationInterfaceS.inl,
ConfigurationInterfaceC.h, ConfigurationInterfaceC.inl
4> TAO_IDL: cannot open or find file: ./tao/orb.idl
5>ClCompile:
5> StateMachineService.cpp
4>C:\Program Files
(x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5):
error MSB6006: "cmd.exe" exited with code 1.

Do I have to set any additional TAO_... variables?

The orocos-rtt-corba-win32_dynamic target failed with:

1>ClCompile:
1> PluginLoader.cpp
1>C:/boost_1_44\boost/filesystem/v2/operations.hpp(1191): error C2039:
'create_hard_link' : is not a member of 'boost::filesystem2'
1>C:/boost_1_44\boost/filesystem/v2/operations.hpp(1191): error C2873:
'create_hard_link' : symbol cannot be used in a using-declaration
1>
1>Build FAILED.

What is wrong with the integration of boost?

Best
Stefan

orocos toolchain 2.3.0 compile error under windows

On Monday 07 March 2011 15:34:22 Stefan Stiene wrote:
> Hello,
> I'm new to orocos. I mainly want to give it a try due to its windows
> support. However I did not manage to install orocos with its
> dependencies for over two days now.
>
> My system is:
>
> Windows7 64 bit
> Microsoft Visual Studio 2010
> boost 1_44
> ACE version 5.6a_p10
> cmake 2.8.4
> orocos toolchain2.3.0

That looks allright, although I have myself never tested on 64bit. Jean did
iirc.

>
> I found this outdated install instruction for windows (is there anything
> newer?):
> http://www.orocos.org/wiki/rtt/rtt-ms-windows/compiling-rtt-1100-windows-na
> tive-win32-api

I have updated it, and renamed the title too. See that link again. Especially,
the NO_ASM option must be OFF in v2.3.0.

>
> Following this I installed boost and ace/tao, edited the
> orocos-rrt.cmake file and did the configure generate in the cmake gui.
> Now I want to compile the generated solution in mvs2010.
> The ZERO_CHECK target builds without errors.

So cmake is working.

>
> The INSTALL target failed with:
>
> 4>CustomBuild:
> 4> Generating ConfigurationInterfaceS.cpp, ConfigurationInterfaceC.cpp,
> ConfigurationInterfaceS.h, ConfigurationInterfaceS.inl,
> ConfigurationInterfaceC.h, ConfigurationInterfaceC.inl
> 4> TAO_IDL: cannot open or find file: ./tao/orb.idl
> 5>ClCompile:
> 5> StateMachineService.cpp
> 4>C:\Program Files
> (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5):
> error MSB6006: "cmd.exe" exited with code 1.
>
> Do I have to set any additional TAO_... variables?

It looks like the idl compiler was not found. Did you set ACE_ROOT and
TAO_ROOT in your system environment variables ? For example, I have this set:

ACE_ROOT=c:\path\to\ACE_wrappers
TAO_ROOT=%ACE_ROOT%\tao
PATH=%PATH%;%ACE_ROOT%\lib;%ACE_ROOT%\bin

The boost\lib directory is also in my PATH.

>
> The orocos-rtt-corba-win32_dynamic target failed with:
>
> 1>ClCompile:
> 1> PluginLoader.cpp
> 1>C:/boost_1_44\boost/filesystem/v2/operations.hpp(1191): error C2039:
> 'create_hard_link' : is not a member of 'boost::filesystem2'
> 1>C:/boost_1_44\boost/filesystem/v2/operations.hpp(1191): error C2873:
> 'create_hard_link' : symbol cannot be used in a using-declaration
> 1>
> 1>Build FAILED.
>
> What is wrong with the integration of boost?

I'm testing with boost 1.40.0. and 1.38.0

Peter

orocos toolchain 2.3.0 compile error under windows

On 07/03/2011 17:26, Peter Soetens wrote:
> On Monday 07 March 2011 15:34:22 Stefan Stiene wrote:
>> Hello,
>> I'm new to orocos. I mainly want to give it a try due to its windows
>> support. However I did not manage to install orocos with its
>> dependencies for over two days now.
>>
>> My system is:
>>
>> Windows7 64 bit
>> Microsoft Visual Studio 2010
>> boost 1_44
>> ACE version 5.6a_p10
>> cmake 2.8.4
>> orocos toolchain2.3.0
>
> That looks allright, although I have myself never tested on 64bit. Jean did
> iirc.

The Toolchain v2.3.0 is working on 64bits systems (both XP64 and Seven).

> ACE_ROOT=c:\path\to\ACE_wrappers
> TAO_ROOT=%ACE_ROOT%\tao
> PATH=%PATH%;%ACE_ROOT%\lib;%ACE_ROOT%\bin

If you do not want to get intrusive on your system with the installatino
of ACE/TAO, you can specify "set TAO_ROOT=your/path tao_idl.exe"
directly the invokation of tao_idl.

I personnally did not have to set these variables system wide. I however
have the following lines in my orocos-rtt.cmake:

set(ACE_LIBRARY_HINTS HINTS "pathto/ace-tao/lib/${LIB_PLATFORM}")
set(ACE_INCLUDE_HINTS HINTS "pathto/ace-tao/include")
set(TAO_LIBRARY_HINTS HINTS "pathto/ace-tao/lib/${LIB_PLATFORM}")
set(TAO_INCLUDE_HINTS HINTS "pathto/ace-tao/include")
set(TAO_RUNTIME_HINTS HINTS "pathto/ace-tao/bin")

which did the trick somehow.

> I'm testing with boost 1.40.0. and 1.38.0

boost 1.46 is causing some (trivial I think) compilation problems
(namespace related, or slightly different API prototype) with visual 2010.
1.45 boost will work on the vanilla repo.

orocos toolchain 2.3.0 compile error under windows

Hello,
thanks Peter and Philippe for the quick answers.
Setting ACE_ROOT and TAO_ROOT solved the TAO problem. As Phillipe said
the boost problem was boost intern. I tested boost 1.46 and this failure
was gone. However there are a lot of other failures like:

C:/boost_1_46\boost/function/function_template.hpp(539): error C2668:
'boost::mem_fn' : ambiguous call to overloaded function
5> C:/boost_1_46\boost/bind/mem_fn_cc.hpp(25): could be
'boost::_mfi::mf1<R,T,A1>
boost::mem_fn<bool,RTT::scripting::StateMachine,const std::string&>(R
(__thiscall RTT::scripting::StateMachine::* )(A1))'
5> with
5> [
5> R=bool,
5> T=RTT::scripting::StateMachine,
5> A1=const std::string &
5> ]
5> c:\Program Files (x86)\Microsoft Visual Studio
10.0\VC\include\xxmem_fn(32): or
'std::tr1::_Mem_fn2<_Rx,_Pmf,_Arg0,_Arg1>
std::tr1::mem_fn<bool,RTT::scripting::StateMachine,const
std::string&>(_Rx (__thiscall RTT::scripting::StateMachine::* )(_Arg1))'
[found using argument-dependent lookup]
5> with
5> [
...

I will try boost 1.40

Thanks again
Stefan

Am 07.03.2011 17:26, schrieb Peter Soetens:
> On Monday 07 March 2011 15:34:22 Stefan Stiene wrote:
>> Hello,
>> I'm new to orocos. I mainly want to give it a try due to its windows
>> support. However I did not manage to install orocos with its
>> dependencies for over two days now.
>>
>> My system is:
>>
>> Windows7 64 bit
>> Microsoft Visual Studio 2010
>> boost 1_44
>> ACE version 5.6a_p10
>> cmake 2.8.4
>> orocos toolchain2.3.0
> That looks allright, although I have myself never tested on 64bit. Jean did
> iirc.
>
>> I found this outdated install instruction for windows (is there anything
>> newer?):
>> http://www.orocos.org/wiki/rtt/rtt-ms-windows/compiling-rtt-1100-windows-na
>> tive-win32-api
> I have updated it, and renamed the title too. See that link again. Especially,
> the NO_ASM option must be OFF in v2.3.0.
>
>> Following this I installed boost and ace/tao, edited the
>> orocos-rrt.cmake file and did the configure generate in the cmake gui.
>> Now I want to compile the generated solution in mvs2010.
>> The ZERO_CHECK target builds without errors.
> So cmake is working.
>
>> The INSTALL target failed with:
>>
>> 4>CustomBuild:
>> 4> Generating ConfigurationInterfaceS.cpp, ConfigurationInterfaceC.cpp,
>> ConfigurationInterfaceS.h, ConfigurationInterfaceS.inl,
>> ConfigurationInterfaceC.h, ConfigurationInterfaceC.inl
>> 4> TAO_IDL: cannot open or find file: ./tao/orb.idl
>> 5>ClCompile:
>> 5> StateMachineService.cpp
>> 4>C:\Program Files
>> (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5):
>> error MSB6006: "cmd.exe" exited with code 1.
>>
>> Do I have to set any additional TAO_... variables?
> It looks like the idl compiler was not found. Did you set ACE_ROOT and
> TAO_ROOT in your system environment variables ? For example, I have this set:
>
> ACE_ROOT=c:\path\to\ACE_wrappers
> TAO_ROOT=%ACE_ROOT%\tao
> PATH=%PATH%;%ACE_ROOT%\lib;%ACE_ROOT%\bin
>
> The boost\lib directory is also in my PATH.
>
>> The orocos-rtt-corba-win32_dynamic target failed with:
>>
>> 1>ClCompile:
>> 1> PluginLoader.cpp
>> 1>C:/boost_1_44\boost/filesystem/v2/operations.hpp(1191): error C2039:
>> 'create_hard_link' : is not a member of 'boost::filesystem2'
>> 1>C:/boost_1_44\boost/filesystem/v2/operations.hpp(1191): error C2873:
>> 'create_hard_link' : symbol cannot be used in a using-declaration
>> 1>
>> 1>Build FAILED.
>>
>> What is wrong with the integration of boost?
> I'm testing with boost 1.40.0. and 1.38.0
>
> Peter

orocos toolchain 2.3.0 compile error under windows

2011/3/8 Stefan Stiene <stefan [dot] stiene [..] ...>

> Hello,
> thanks Peter and Philippe for the quick answers.
> Setting ACE_ROOT and TAO_ROOT solved the TAO problem. As Phillipe said
> the boost problem was boost intern. I tested boost 1.46 and this failure
> was gone. However there are a lot of other failures like:
>
> C:/boost_1_46\boost/function/function_template.hpp(539): error C2668:
> 'boost::mem_fn' : ambiguous call to overloaded function
> 5> C:/boost_1_46\boost/bind/mem_fn_cc.hpp(25): could be
> 'boost::_mfi::mf1<R,T,A1>
> boost::mem_fn<bool,RTT::scripting::StateMachine,const std::string&>(R
> (__thiscall RTT::scripting::StateMachine::* )(A1))'
> 5> with
> 5> [
> 5> R=bool,
> 5> T=RTT::scripting::StateMachine,
> 5> A1=const std::string &
> 5> ]
> 5> c:\Program Files (x86)\Microsoft Visual Studio
> 10.0\VC\include\xxmem_fn(32): or
> 'std::tr1::_Mem_fn2<_Rx,_Pmf,_Arg0,_Arg1>
> std::tr1::mem_fn<bool,RTT::scripting::StateMachine,const
> std::string&>(_Rx (__thiscall RTT::scripting::StateMachine::* )(_Arg1))'
> [found using argument-dependent lookup]
> 5> with
> 5> [
> ...
>
> I will try boost 1.40
>
>
I strongly suggest that you first test with boost 1.40, since we also use
this version for testing. I have also tested with boost 1.44 by fixing the
compilation error that you mentionned previously.

Philippe

orocos toolchain 2.3.0 compile error under windows

2011/3/7 Stefan Stiene <stefan [dot] stiene [..] ...>

> Hello,
> I'm new to orocos. I mainly want to give it a try due to its windows
> support. However I did not manage to install orocos with its
> dependencies for over two days now.
>
> My system is:
>
> Windows7 64 bit
> Microsoft Visual Studio 2010
> boost 1_44
> ACE version 5.6a_p10
> cmake 2.8.4
> orocos toolchain2.3.0
>
> I found this outdated install instruction for windows (is there anything
> newer?):
>
> http://www.orocos.org/wiki/rtt/rtt-ms-windows/compiling-rtt-1100-windows...
>
> Following this I installed boost and ace/tao, edited the
> orocos-rrt.cmake file and did the configure generate in the cmake gui.
> Now I want to compile the generated solution in mvs2010.
> The ZERO_CHECK target builds without errors.
>
> The INSTALL target failed with:
>
> 4>CustomBuild:
> 4> Generating ConfigurationInterfaceS.cpp, ConfigurationInterfaceC.cpp,
> ConfigurationInterfaceS.h, ConfigurationInterfaceS.inl,
> ConfigurationInterfaceC.h, ConfigurationInterfaceC.inl
> 4> TAO_IDL: cannot open or find file: ./tao/orb.idl
> 5>ClCompile:
> 5> StateMachineService.cpp
> 4>C:\Program Files
> (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5):
> error MSB6006: "cmd.exe" exited with code 1.
>
> Do I have to set any additional TAO_... variables?
>
>
Sorry, I've never seen this one. It looks like a bad build of ACE&TAO. I
have tested the win32 build with the OCI version 1.6a of ACE&TAO:

http://www.theaceorb.com/downloads/1.6a/index.html

> The orocos-rtt-corba-win32_dynamic target failed with:
>
> 1>ClCompile:
> 1> PluginLoader.cpp
> 1>C:/boost_1_44\boost/filesystem/v2/operations.hpp(1191): error C2039:
> 'create_hard_link' : is not a member of 'boost::filesystem2'
> 1>C:/boost_1_44\boost/filesystem/v2/operations.hpp(1191): error C2873:
> 'create_hard_link' : symbol cannot be used in a using-declaration
> 1>
> 1>Build FAILED.
>
> What is wrong with the integration of boost?
>
>
This is not an Orocos bug but rather a bug in Boost 1.44. Look at:

https://svn.boost.org/trac/boost/ticket/4630
https://svn.boost.org/trac/boost/ticket/4487

Philippe