Orocos 1.x for Windows?

Below, the story of an Orocos newbie...

What do I like to do? Get started with Orocos 1.x.

What is my preferred environment? C++, Windows, Eclipse

Is this realistic? I guess so:

  • Orocos has a 2.x version, so I suppose 1.x is super-stable and well-documented.
  • A first look at the site indicates that "RTT on MS Windows" is supported "out-of-the-box" as of 1.10.0.

So, here we go...

1) Start from http://www.orocos.org/wiki/rtt/rtt-ms-windows.

It indicates that 1.10.0 supports Windows out-of-the box, so that the work-arounds on this page are not needed anymore.

Fine. Then what page should I follow? I guess the default installation. Hmmm... That one points explicitely to Debian, Mac and other *nix and to the previous Windows page. Seems like a circle.

It also mentions the forums as a source of information, so first let's look on the forum.

2) Looking for Windows on the forum

Click on forum, then search... euh... how? Ah, there is a search box on the top right corner. Type Windows and "search"...

Hmmm... Seems to search the full site, bugzilla, etc...

First match: bug about the initial port to Cygwin... will be outdated for me. It was supported out-of-the-box by now.

Aha 4th match: "Compiling on Windows with Visual Studio" seems close to what I need. The others (a user doesn't read further than 5 pages) don't seem to be what I need, so let's take the 4th link.

3) Compiling on Windows with Visual Studio.

Click... Oh, this seems to be one of the not-needed-anymore-workarounds. Tiens... But since I don't have any other suggestion, I'll follow it anyway. Again it is mentioned that 1.10.0 is the base required version, but there seems to be at least a 1.12 as wel.

Ok. this upgrades my expectations to 1.12 or higher ;-)

4) Corba support is optional, so skip it. I don't need it anyway.

5) Boost

Seems I need _at least_ boost 1.36.0. Hmmm... 1.46.1 is the latest for now. Will there be any major API changes between 1.36 and 1.46? Don't know... Risky. The document suggests: "We recommend boost 1.40.0", so let me stick to that.

Oh nice, pre-built stuff: click http://www.boost-pro.com/download... Hmmm.. http 404

Extract the downloaded zip to my dev directory C:\local\dev\oroscos\boost_1_40_0. Follow build instructions. Add the path (with stage/lib instead of the specified /lib). Done.

6) cmake Version 2.8.4 seems to be the current one, but the site mentions 2.6.3 so play it on the safe side...

First I need to add two path entries to a copy of the orocos-rtt.default.cmake. Euh, what rtt.default.cmake? I don't have any Orocos files yet. --- Interrupt ---

7) Get Orocos (at least 1.12)

Ok, where can I get it? Go to Orocos's main page. Nope, no download button. Toolchain? Nope only 2.x. KDL, BFL nope seems something else.

Hey, by coincidence I see a link to the official Orocos SVN repository. let's try that one. I guess I need RTT although I'm not sure (I'm a newbie, remember...)

Euh. In the tags I can find 1.4 to 1.6, then orocos-0.10.0 to 0.24.0, then orocos-rtt- till 1.8 and rtt-1.10.2. No 1.12 or higher. Tiens... Hmmm. there is a 1.12 in the branches, but is that a reliable branch?

Let's try again: Couldn't I just download it like any other product? Let's type "download' in the search box. Yes! A download link in the menu. v1.12.1 and even a manual! I should have found that earlier... Download, extract, put in c:\local\dev\orocos\orocos-rtt-1.12.1. Done.

Take a look at the installation manual and look for Windows installation. Hey, just a pointer to "RTT on MS Windows"... been there, done that :-(

Ok. I have Orocos now. Let's get back to cmake.

8) cmake cont'd

Make a copy of the orocos-rtt.default.cmake and add the necessary paths. I didn't choose to use ACE/TAO, so I remove these. Also my boost path is a little different. That makes it:

set(CMAKE_INCLUDE_PATH \${CMAKE_INCLUDE_PATH} "c:\local\dev\orocos\boost_1_40_0")
set(CMAKE_LIBRARY_PATH \${CMAKE_LIBRARY_PATH} "c:\local\dev\orocos\boost_1_40_0\lib")

Ok, set the right paths in cmake and click "Configure".

Oops, my Visual Studio 2010 is not in the list.

Hmmm... Older VIsual Studio Express is not available anymore from MS.

Hmmm... Let's try then to configure for Visual Studio 2008.

Nope... it doesn't like that. He doesn't find VS2008, so he doesn't want to configure for that.

Ok, next guess, upgrade cmake to current version: 2.8.4. Nice: VS2010 is now supported.

Oops:

Orocos RTT version  (1.10.99)
CMake Warning (dev) at orocos-rtt.cmake:20 (set):
  Syntax error in cmake code at
 
    C:/Local/Dev/orocos/orocos_1_10_2/orocos-rtt.cmake:21
 
  when parsing string
 
    c:\local\dev\orocos\boost_1_40_0
 
  Invalid escape sequence \l

Oh, it seems the c:\local etc should use forward slashes instead. Hmmm... mistake on the webpage, but the cmake example file contains the correct syntax. And the cmake example additionally refers to the /include boost subdir (as opposed to the doc).

Strange, boost doesn't contain a /include dir. So let's leave that away... The boost build indicated that the boot include dir was just the main boot installation dir, so that should be fine.

Configure... fails.

CMake Error at config/check_depend.cmake:56 (message):
  Boost not found on your system.  See orocos-rtt.default.cmake (recommended)
  or set BOOST_ROOT.
Call Stack (most recent call first):
  CMakeLists.txt:85 (INCLUDE)

The doc mentions that we have to set ORO_NO_ASM to ON for 1.12, but there is no ORO_NO_ASM. We see an OS_NO_ASM, but that one is set to ON by cmake in case of MSVC according to its output.

  • Hmmm... Add BOOST_ROOT to the system path? Nope...
  • Request some extra debug from cmake? Nope...
  • Add BOOST_ROOT to the orocos-rtt.cmake just like the path? Nope...
  • Add it in the .cmake file? Nope...

Well, well... after some debug, trace, coffee...

  • we hacked the check_depend.cmake to set(Boost_FOUND TRUE) in all cases...
  • we disabled the following parts:

   - BUILD_TESTING
   - ORO_OS_PLUGIN_LOADER
Hehe... It says done... Don't know whether we really messed it up now, but we can generate our Visual Studio Solution...

9) Visual Studio 2010...

Load solution... works (showing the projects ALL_BUILD, dochtml, docpdf, docpng, docs, INSTALL, message, orocos-rtt-dynamic_win32, RUN_TESTS, uninstall, ZERO_CHECK)

According to the doc, we should now "Build the 'check' target". Huh? Build a target in Visual Studio? Just try build all, the 'check' target will be somewhere in it, no? So, select Solution and then click "Rebuild Solution". Drink a coffee.

Oops, didn't have the chance to get my coffee. It already shows:

error C2039: 'back_inserter' : is not a member of 'std'
but the build continues.

Look for the issue on Google... It seems that VS2010 has breaking changes corresponding to this back_inserter. http://blogs.msdn.com/b/vcblog/archive/2009/05/25/stl-breaking-changes-in-visual-studio-2010-beta-1.aspx They suggest to add #include <iterator> in the appropriate headers...

Not going to do that :-(

Conclusion: Put Visual Studio path on hold.

10) Eclipse as an alternative?

Eclipse was our preferred platform anyway. Let's try the Eclipse scenario.

Some info found on http://www.orocos.org/wiki/rtt/eclipse, but that only shows how to make an application using Orocos on Eclipse. That's not what we are trying to do. We did see however that cmake also supports Eclipse targets. Would that be a way to go? Let's try...

No Cygwin.... Euh install Cygwin now. Call cmake and chose the Linux build (although that doesn't really match my OS...). --> Ok, generates fine. Import in Eclipse, build. You get:

target pattern contains no `%'

Google it: http://cygwin.com/ml/cygwin/2006-07/msg00404.html

So we shouldn't use make 3.81 but rather 3.80. Cygwin doesn't offer that one anymore. cmake doesn't offer a windows specific build for Eclipse. Stop...

Conclusion: this story could mean two things:

  • Or I am stupid (probably)
  • Or it is not trivial for any Windows user to get started with Orocos 1.x.

Supported out-of-the-box is then a quite ambitious statement.

Question: did anyone persist more than I did? Has anyone been running Orocos 1.x on Windows with VS2010 or preferrably with Eclipse? Would you also happen to have made a reasonable "how to"? I would be grateful :-)

Orocos 1.x for Windows?

On Tuesday 15 March 2011 17:22:22 johan [..] ... wrote:
> Below, the story of an Orocos newbie...
>
> What do I like to do? Get started with Orocos 1.x.
>
> What is my preferred environment? C++, Windows, Eclipse
>
> Is this realistic? I guess so:
> * Orocos has a 2.x version, so I suppose 1.x is super-stable and
> well-documented. * A first look at the site indicates that "RTT on MS
> Windows" is supported "out-of-the-box" as of 1.10.0. So, here we go...

With 'out-of-the-box', we mean that no source-level changes need to be
applied. Windows users might interprete this statement as 'having-a-
setup.exe', which is not the case...

>
> 1) Start from http://www.orocos.org/wiki/rtt/rtt-ms-windows.
>
> It indicates that 1.10.0 supports Windows out-of-the box, so that the
> work-arounds on this page are not needed anymore.

I clarified that page a little such that you click on the right link out of
these 4.

>
> Fine. Then what page should I follow? I guess the default installation.
> Hmmm... That one points explicitely to Debian, Mac and other *nix and to
> the previous Windows page. Seems like a circle.
>
> It also mentions the forums as a source of information, so first let's look
> on the forum.
>
> 2) Looking for Windows on the forum
>
> Click on forum, then search... euh... how?
> Ah, there is a search box on the top right corner.
> Type Windows and "search"...
>
> Hmmm... Seems to search the full site, bugzilla, etc...

Our forum is searchable, but you need to use the 'Advanced search' options
when looking at your search results. I have toggled the website such that
these options are always shown. I also added a search block on the forum
overview, which only searches forum items. I tried adding the 'type:forum'
during the submit using a javascript, but that didn't work out.. beats me :-)

>
> First match: bug about the initial port to Cygwin... will be outdated for
> me. It was supported out-of-the-box by now.
>
> Aha 4th match: "Compiling on Windows with Visual Studio" seems close to
> what I need. The others (a user doesn't read further than 5 pages) don't
> seem to be what I need, so let's take the 4th link.
>
> 3) Compiling on Windows with Visual Studio.
>
> Click... Oh, this seems to be one of the not-needed-anymore-workarounds.
> Tiens... But since I don't have any other suggestion, I'll follow it
> anyway. Again it is mentioned that 1.10.0 is the base required version,
> but there seems to be at least a 1.12 as wel.
>
> Ok. this upgrades my expectations to 1.12 or higher ;-)
>
> 4) Corba support is optional, so skip it. I don't need it anyway.
>
> 5) Boost
>
> Seems I need _at least_ boost 1.36.0.
> Hmmm... 1.46.1 is the latest for now. Will there be any major API changes
> between 1.36 and 1.46? Don't know... Risky. The document suggests: "We
> recommend boost 1.40.0", so let me stick to that.
>
> Oh nice, pre-built stuff: click http://www.boost-pro.com/download... Hmmm..
> http 404

This link has been fixed.

>
> Extract the downloaded zip to my dev directory
> C:\local\dev\oroscos\boost_1_40_0. Follow build instructions.
> Add the path (with stage/lib instead of the specified /lib). Done.
>
> 6) cmake
> Version 2.8.4 seems to be the current one, but the site mentions 2.6.3 so
> play it on the safe side...
>
> First I need to add two path entries to a copy of the
> orocos-rtt.default.cmake. Euh, what rtt.default.cmake? I don't have any
> Orocos files yet.
> --- Interrupt ---

So we should start the page with 'download RTT here' ?

>
> 7) Get Orocos (at least 1.12)
>
> Ok, where can I get it? Go to Orocos's main page.
> Nope, no download button.
> Toolchain? Nope only 2.x. KDL, BFL nope seems something else.

RTT is part of the Orocos toolchain, as we try to explain on the Toolchain
page. We redid the design to lead people as much as possible to 2.x pages. The
toolchain page does link to the RTT main page, which explains that it's there
for 1.x users.

>
> Hey, by coincidence I see a link to the official Orocos SVN repository.
> let's try that one.
> I guess I need RTT although I'm not sure (I'm a newbie, remember...)
>
> Euh. In the tags I can find 1.4 to 1.6, then orocos-0.10.0 to 0.24.0, then
> orocos-rtt- till 1.8 and rtt-1.10.2. No 1.12 or higher. Tiens...
> Hmmm. there is a 1.12 in the branches, but is that a reliable branch?

We (the release scripts) were sloppy on creating tags back then. Sorry about
that. The rtt-1.x branches are very stable.

>
> Let's try again: Couldn't I just download it like any other product?
> Let's type "download' in the search box. Yes!
> A download link in the menu.
> v1.12.1 and even a manual! I should have found that earlier...
> Download, extract, put in c:\local\dev\orocos\orocos-rtt-1.12.1. Done.

The problem here is that you as a 1.x user, did not find the 'rtt' main page,
ie www.orocos.org/rtt . However, the Toolchain page points to both that link
and also the 'Older Versions' link in the 'Support' table, points to what you
are looking for.

>
> Take a look at the installation manual and look for Windows installation.
> Hey, just a pointer to "RTT on MS Windows"... been there, done that :-(

I'm glad all the links are pointing to the right place :-)

>
> Ok. I have Orocos now. Let's get back to cmake.
>
> 8) cmake cont'd
>
> Make a copy of the orocos-rtt.default.cmake and add the necessary paths.
> I didn't choose to use ACE/TAO, so I remove these. Also my boost path is a
> little different. That makes it:
>

> set(CMAKE_INCLUDE_PATH \${CMAKE_INCLUDE_PATH}
> "c:\local\dev\orocos\boost_1_40_0") set(CMAKE_LIBRARY_PATH
> \${CMAKE_LIBRARY_PATH} "c:\local\dev\orocos\boost_1_40_0\lib") 

There was an issue on the correct path names on Windows on that wiki page. The
backslash will not work. You must use c: followed by forward slashes. I
updated that.

>
> Ok, set the right paths in cmake and click "Configure".
>
> Oops, my Visual Studio 2010 is not in the list.
>
> Hmmm... Older VIsual Studio Express is not available anymore from MS.
>
> Hmmm... Let's try then to configure for Visual Studio 2008.
>
> Nope... it doesn't like that. He doesn't find VS2008, so he doesn't want to
> configure for that.
>
> Ok, next guess, upgrade cmake to current version: 2.8.4.
> Nice: VS2010 is now supported.

I clarified that as well in a new section on the infamous MS Windows wiki page.

>
> Oops:
>

> Orocos RTT version  (1.10.99)
> CMake Warning (dev) at orocos-rtt.cmake:20 (set):
>   Syntax error in cmake code at
> 
>     C:/Local/Dev/orocos/orocos_1_10_2/orocos-rtt.cmake:21
> 
>   when parsing string
> 
>     c:\local\dev\orocos\boost_1_40_0
> 
>   Invalid escape sequence \l
> 

>
> Oh, it seems the c:\local etc should use forward slashes instead.
> Hmmm... mistake on the webpage, but the cmake example file contains the
> correct syntax. And the cmake example additionally refers to the /include
> boost subdir (as opposed to the doc).

Ack.

>
> Strange, boost doesn't contain a /include dir. So let's leave that away...
> The boost build indicated that the boot include dir was just the main boot
> installation dir, so that should be fine.
>
> Configure... fails.
>

> CMake Error at config/check_depend.cmake:56 (message):
>   Boost not found on your system.  See orocos-rtt.default.cmake
> (recommended) or set BOOST_ROOT.
> Call Stack (most recent call first):
>   CMakeLists.txt:85 (INCLUDE)
> 

>
> The doc mentions that we have to set ORO_NO_ASM to ON for 1.12, but there
> is no ORO_NO_ASM. We see an OS_NO_ASM, but that one is set to ON by cmake
> in case of MSVC according to its output.

I think I fixed this now as well. You could have done so as well since it's a
wiki.

>
> * Hmmm... Add BOOST_ROOT to the system path? Nope...
> * Request some extra debug from cmake? Nope...
> * Add BOOST_ROOT to the orocos-rtt.cmake just like the path? Nope...
> * Add it in the .cmake file? Nope...
>
> Well, well... after some debug, trace, coffee...
> * we hacked the check_depend.cmake to set(Boost_FOUND TRUE) in all cases...
> * we disabled the following parts:
> - BUILD_TESTING
> - ORO_OS_PLUGIN_LOADER
>
> Hehe... It says done... Don't know whether we really messed it up now, but
> we can generate our Visual Studio Solution...

Not finding boost is certainly not part of the usual process. I never had to
hack around this...

>
> 9) Visual Studio 2010...
>
> Load solution... works (showing the projects ALL_BUILD, dochtml, docpdf,
> docpng, docs, INSTALL, message, orocos-rtt-dynamic_win32, RUN_TESTS,
> uninstall, ZERO_CHECK)
>
> According to the doc, we should now "Build the 'check' target". Huh? Build
> a target in Visual Studio? Just try build all, the 'check' target will be
> somewhere in it, no? So, select Solution and then click "Rebuild
> Solution".
> Drink a coffee.

I updated this as well. The check target is being omitted if the boost testing
is disabled... We're recommending now to do ALL_BUILD.

>
> Oops, didn't have the chance to get my coffee. It already shows:
>

> error C2039: 'back_inserter' : is not a member of 'std'
> 

> but the build continues.
>
> Look for the issue on Google... It seems that VS2010 has breaking changes
> corresponding to this back_inserter.
> http://blogs.msdn.com/b/vcblog/archive/2009/05/25/stl-breaking-changes-in-
> visual-studio-2010-beta-1.aspx They suggest to add #include <iterator> in
> the appropriate headers...
>
> Not going to do that :-(
>
> Conclusion: Put Visual Studio path on hold.

We encourage motivated users to submit patches for MSVS2010 :-D

>
> 10) Eclipse as an alternative?
>
> Eclipse was our preferred platform anyway.
> Let's try the Eclipse scenario.
>
> Some info found on http://www.orocos.org/wiki/rtt/eclipse, but that only
> shows how to make an application using Orocos on Eclipse. That's not what
> we are trying to do.
> We did see however that cmake also supports Eclipse targets. Would that be
> a way to go? Let's try...
>
> No Cygwin.... Euh install Cygwin now.
> Call cmake and chose the Linux build (although that doesn't really match my
> OS...). --> Ok, generates fine. Import in Eclipse, build. You get:
>

> target pattern contains no `%'
> 

>
> Google it: http://cygwin.com/ml/cygwin/2006-07/msg00404.html
>
> So we shouldn't use make 3.81 but rather 3.80.
> Cygwin doesn't offer that one anymore.
> cmake doesn't offer a windows specific build for Eclipse.
> Stop...

Eclipse is not supported on MSWindows. I have no idea on how to do that in
combination with the visual studio compiler and generated solutions.

>
>
> Conclusion: this story could mean two things:
> * Or I am stupid (probably)
> * Or it is not trivial for any Windows user to get started with Orocos 1.x.
> Supported out-of-the-box is then a quite ambitious statement.
>
> Question: did anyone persist more than I did? Has anyone been running
> Orocos 1.x on Windows with VS2010 or preferrably with Eclipse? Would you
> also happen to have made a reasonable "how to"?
> I would be grateful :-)

There are clearly some issues with the website, and the wiki page was not
being fine either. Posting to this list was in the end the right thing to do.

Peter

Orocos 1.x for Windows?

Hi Peter,

Thanks for your constructive feedback.

>With 'out-of-the-box', we mean that no source-level changes need to be applied. Windows users might interprete this statement as 'having-a- setup.exe', which is not the case...

You're oh so right ;-)

>> First I need to add two path entries to a copy of the
>> orocos-rtt.default.cmake. Euh, what rtt.default.cmake? I don't have any
>> Orocos files yet.
>> --- Interrupt ---

>So we should start the page with 'download RTT here' ?

Well, I just meant that for a user, blindly following the cookbook, the order of actions is not correct.
No major harm done, though...
Microsoft would argue that it is a major marketing mistake not to give a "investigating user" a smooth workflow to get started.
I doubt you like comparisons with MS...

>I think I fixed this now as well. You could have done so as well since it's a
>wiki.

Due to my lack of real Orocos experience, I'm a bit 'reserved' to go and submit changes to the Wiki myself.
So, I'm happy to learn you updated the points.

>Not finding boost is certainly not part of the usual process. I never had to
>hack around this...

I feel that not finding the pre-built Boost binaries and building them on our own, probably we skipped some steps that "cleanly" install Boost (including the path-settings etc).

>We encourage motivated users to submit patches for MSVS2010 :-D

You also invite the "motivated users" to submit a patch for VS2010.
Well, if the problem would just be the upgrade to VS2010, I could be motivated enough.
Since the problem seems to come from some incompatibility between the boost libs and the new C++ language evolution, I guess I'm not upto the job.
I motivated myself to use VS2008...

>Eclipse is not supported on MSWindows. I have no idea on how to do that in
>combination with the visual studio compiler and generated solutions.

A bit unfortunate, cause I guess quite a few first-time-trial-users investigating about Orocos are by now using Eclipse even on Windows.
I don't have a market study about this, though.

>There are clearly some issues with the website, and the wiki page was not
>being fine either. Posting to this list was in the end the right thing to do.

Glad to have been of any (albeit minor) assistance in cleaning up the page.

Thanks,
Johan

Orocos 1.x for Windows?

Hi,

> * Or it is not trivial for any Windows user to get started with Orocos
> 1.x.
> Supported out-of-the-box is then a quite ambitious statement.

I also had to put quite some effort into getting Orocos running on Windows, but finally I got it working.

We are using Boost 1.42 (precompiled binaries, the boostpro server seems to be quite unreliable sometimes) and Visual Studio 2008. The precompiled binaries for 1.42 do not support VS2010. Furthermore, as you already mentioned, VS2010 includes some C++0x features that the orocos code seems not to be aware of (mostly the namespace is not specified enough). VS2008 works without problems.

I still needed some playing with the CMake options, but no changes to the CMake files.

I would suggest using VS2008, this saves a lot of trouble. The old version is still available at http://www.microsoft.com/express/Downloads/#2008-Visual-CPP

We are using the Windows version in an automated build process, once it is set up successfully there are no further problems.

Orocos 1.x for Windows?

Hi Johan,

As newbie, I suggest you to also get OCL 1.12.0 working on your window
version in order to use the taskbrowser and deployer that are widely used in
the orocos buider manual. To do it, I used MSVC 2005 - 2008 with boost and
rtt already installed and CMAKE 2.6.3 or higher.

As I explained before, I prefer use Env_variable to specify libraries
location. I think you will need to specify %OROCOS% variable to “C:\Program
Files\orocos\" and %BOOST_ROOT%, %ACE_ROOT% and %TAO_ROOT%. The configure
process should go fine. If if fails because it searching readline, try to
check "NO_GPL". Generate and build the solution.

If you add "C:\Program Files\orocos\bin;C:\Program Files\orocos\lib" you
should be able to call deployer-win32 as you could call deployer-gnulinux on
linux.

Good luck.

On Thu, Mar 24, 2011 at 7:41 AM, <johan [..] ...> wrote:

> Hi Michael, Simon,
>
> Thanks for your feedback.
> I draw the following conclusions:
> * Boost Pro is not permanently down, only when I checked. The alternative
> procedure to build "a working" Boost from scratch is not trivial.
> * VS2010 is currently not supported (fails because of newly added C++
> features). Michael, I also found the VS2008 by now, just as you stated.
>
> I still have to retry it, but I guess I can manage the installation this
> way.
>
> An important purpose of my post was also to indicate that the installation
> is far from trivial for newbies. This IS the first impression someone gets
> from Orocos on Windows.
> Potential users can drop out because of such an experience.
>
> Therefore I agree with Herman that updating the documentation would be
> beneficial.
> I could go and add some notes to the Wiki myself, but maybe I'm not that
> well-positioned being a newbie. If I propose some additions, could anyone
> review my "statements" before publishing?
>
>
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>

Orocos 1.x for Windows?

Hi Michael, Simon,

Thanks for your feedback. I draw the following conclusions:

  • Boost Pro is not permanently down, only when I checked. The alternative procedure to build "a working" Boost from scratch is not trivial.
  • VS2010 is currently not supported (fails because of newly added C++ features). Michael, I also found the VS2008 by now, just as you stated.

I still have to retry it, but I guess I can manage the installation this way.

An important purpose of my post was also to indicate that the installation is far from trivial for newbies. This IS the first impression someone gets from Orocos on Windows. Potential users can drop out because of such an experience.

Therefore I agree with Herman that updating the documentation would be beneficial. I could go and add some notes to the Wiki myself, but maybe I'm not that well-positioned being a newbie. If I propose some additions, could anyone review my "statements" before publishing?

Orocos 1.x for Windows?

On Thu, 24 Mar 2011, Michael Vistein wrote:

> Hi,
>
>> * Or it is not trivial for any Windows user to get started with Orocos
>> 1.x.
>> Supported out-of-the-box is then a quite ambitious statement.
>
> I also had to put quite some effort into getting Orocos running on Windows, but finally I got it working.

Good! And thanks for trying.

It would be extremely useful if you guys can update the relevant information... :-)

> We are using Boost 1.42 (precompiled binaries, the boostpro server seems to be quite unreliable sometimes) and Visual Studio 2008. The precompiled binaries for 1.42 do not support VS2010. Furthermore, as you already mentioned, VS2010 includes some C++0x features that the orocos code seems not to be aware of (mostly the namespace is not specified enough). VS2008 works without problems.
>
> I still needed some playing with the CMake options, but no changes to the CMake files.
>
> I would suggest using VS2008, this saves a lot of trouble. The old version is still available at http://www.microsoft.com/express/Downloads/#2008-Visual-CPP
>
> We are using the Windows version in an automated build process, once it is set up successfully there are no further problems.

Herman

Orocos 1.x for Windows?

Hi johan,

I had participate in the porting of orocos rtt under Window, and I have test
the 1.12 version. My Configuration are the following:

MSVC 2005 or MSV 2008 ( Nerver tried 2010)
Boost 1.40
CMake 2.8.2

I put comments after

On Tue, Mar 15, 2011 at 12:22 PM, <johan [..] ...> wrote:

> Below, the story of an Orocos newbie...
>
> What do I like to do? Get started with Orocos 1.x.
>
> What is my preferred environment? C++, Windows, Eclipse
>
> Is this realistic? I guess so:
> * Orocos has a 2.x version, so I suppose 1.x is super-stable and
> well-documented.
> * A first look at the site indicates that "RTT on MS Windows" is supported
> "out-of-the-box" as of 1.10.0.
> So, here we go...
>
> 1) Start from http://www.orocos.org/wiki/rtt/rtt-ms-windows.
>
> It indicates that 1.10.0 supports Windows out-of-the box, so that the
> work-arounds on this page are not needed anymore.
>
> Fine. Then what page should I follow? I guess the default installation.
> Hmmm... That one points explicitely to Debian, Mac and other *nix and to
> the previous Windows page. Seems like a circle.
>
> It also mentions the forums as a source of information, so first let's look
> on the forum.
>
> 2) Looking for Windows on the forum
>
> Click on forum, then search... euh... how?
> Ah, there is a search box on the top right corner.
> Type Windows and "search"...
>
> Hmmm... Seems to search the full site, bugzilla, etc...
>
> First match: bug about the initial port to Cygwin... will be outdated for
> me. It was supported out-of-the-box by now.
>
> Aha 4th match: "Compiling on Windows with Visual Studio" seems close to
> what I need.
> The others (a user doesn't read further than 5 pages) don't seem to be what
> I need, so let's take the 4th link.
>
> 3) Compiling on Windows with Visual Studio.
>
> Click... Oh, this seems to be one of the not-needed-anymore-workarounds.
> Tiens... But since I don't have any other suggestion, I'll follow it
> anyway.
> Again it is mentioned that 1.10.0 is the base required version, but there
> seems to be at least a 1.12 as wel.
>
> Ok. this upgrades my expectations to 1.12 or higher ;-)
>

> 4) Corba support is optional, so skip it. I don't need it anyway.
>
> 5) Boost
>
> Seems I need _at least_ boost 1.36.0.
> Hmmm... 1.46.1 is the latest for now. Will there be any major API changes
> between 1.36 and 1.46? Don't know... Risky.
> The document suggests: "We recommend boost 1.40.0", so let me stick to
> that.
>
> Oh nice, pre-built stuff: click http://www.boost-pro.com/download...
> Hmmm.. http 404
>
> Extract the downloaded zip to my dev directory
> C:\local\dev\oroscos\boost_1_40_0.
> Follow build instructions.
> Add the path (with stage/lib instead of the specified /lib). Done.
>

> 6) cmake
> Version 2.8.4 seems to be the current one, but the site mentions 2.6.3 so
> play it on the safe side...
>
> First I need to add two path entries to a copy of the
> orocos-rtt.default.cmake.
> Euh, what rtt.default.cmake? I don't have any Orocos files yet.
> --- Interrupt ---
>
> 7) Get Orocos (at least 1.12)
>
> Ok, where can I get it? Go to Orocos's main page.
> Nope, no download button.
> Toolchain? Nope only 2.x. KDL, BFL nope seems something else.
>
> Hey, by coincidence I see a link to the official Orocos SVN repository.
> let's try that one.
> I guess I need RTT although I'm not sure (I'm a newbie, remember...)
>
> Euh. In the tags I can find 1.4 to 1.6, then orocos-0.10.0 to 0.24.0, then
> orocos-rtt- till 1.8 and rtt-1.10.2.
> No 1.12 or higher. Tiens...
> Hmmm. there is a 1.12 in the branches, but is that a reliable branch?
>
> Let's try again: Couldn't I just download it like any other product?
> Let's type "download' in the search box. Yes!
> A download link in the menu.
> v1.12.1 and even a manual! I should have found that earlier...
> Download, extract, put in c:\local\dev\orocos\orocos-rtt-1.12.1. Done.
>
> Take a look at the installation manual and look for Windows installation.
> Hey, just a pointer to "RTT on MS Windows"... been there, done that :-(
>

I used rtt 1.12.0 at
http://people.mech.kuleuven.be/~orocos/pub/stable/rtt/v1.12.0/

>
> Ok. I have Orocos now. Let's get back to cmake.
>
> 8) cmake cont'd
>
> Make a copy of the orocos-rtt.default.cmake and add the necessary paths.
> I didn't choose to use ACE/TAO, so I remove these. Also my boost path is a
> little different.
> That makes it:
>

> set(CMAKE_INCLUDE_PATH \${CMAKE_INCLUDE_PATH}
> "c:\local\dev\orocos\boost_1_40_0")
> set(CMAKE_LIBRARY_PATH \${CMAKE_LIBRARY_PATH}
> "c:\local\dev\orocos\boost_1_40_0\lib")
> 

>

I did not use any orocos-rtt.default.cmake, I just had to add
environnment variable BOOST and BOOST_ROOT to (
c:\local\dev\orocos\boost_1_40_0 for your case)

>
> Ok, set the right paths in cmake and click "Configure".

> Oops, my Visual Studio 2010 is not in the list.
>
> Hmmm... Older VIsual Studio Express is not available anymore from MS.
>
> Hmmm... Let's try then to configure for Visual Studio 2008.
>
> Nope... it doesn't like that. He doesn't find VS2008, so he doesn't want to
> configure for that.
>
> Ok, next guess, upgrade cmake to current version: 2.8.4.
> Nice: VS2010 is now supported.
>
> Oops:
>

> Orocos RTT version  (1.10.99)
> CMake Warning (dev) at orocos-rtt.cmake:20 (set):
>  Syntax error in cmake code at
>
>    C:/Local/Dev/orocos/orocos_1_10_2/orocos-rtt.cmake:21
>
>  when parsing string
>
>    c:\local\dev\orocos\boost_1_40_0
>
>  Invalid escape sequence \l
> 

>
> Oh, it seems the c:\local etc should use forward slashes instead.
> Hmmm... mistake on the webpage, but the cmake example file contains the
> correct syntax.
> And the cmake example additionally refers to the /include boost subdir (as
> opposed to the doc).
>

If you are writting cmake code you will see that you need to put \\
instead of \ only for a "\".

>
> Strange, boost doesn't contain a /include dir. So let's leave that away...
> The boost build indicated that the boot include dir was just the main boot
> installation dir, so that should be fine.
>
> Configure... fails.
>

> CMake Error at config/check_depend.cmake:56 (message):
>  Boost not found on your system.  See orocos-rtt.default.cmake
> (recommended)
>  or set BOOST_ROOT.
> Call Stack (most recent call first):
>  CMakeLists.txt:85 (INCLUDE)
> 

>

As I said better set BOOST_ROOT

>
> The doc mentions that we have to set ORO_NO_ASM to ON for 1.12, but there
> is no ORO_NO_ASM.
> We see an OS_NO_ASM, but that one is set to ON by cmake in case of MSVC
> according to its output.
>

you are right, that was anoying to set it all the time

>
> * Hmmm... Add BOOST_ROOT to the system path? Nope...
> * Request some extra debug from cmake? Nope...
> * Add BOOST_ROOT to the orocos-rtt.cmake just like the path? Nope...
> * Add it in the .cmake file? Nope...
>
> Well, well... after some debug, trace, coffee...
> * we hacked the check_depend.cmake to set(Boost_FOUND TRUE) in all cases...
> * we disabled the following parts:
> - BUILD_TESTING
> - ORO_OS_PLUGIN_LOADER
>

Bad Idea, cmake use "FindPackage" files that search for library, you can
find them in C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules. The
name has the form findXXX.cmake so in our case it's findBoost.cmake

> Hehe... It says done... Don't know whether we really messed it up now, but
> we can generate our Visual Studio Solution...
>
> 9) Visual Studio 2010...
>
> Load solution... works (showing the projects ALL_BUILD, dochtml, docpdf,
> docpng, docs, INSTALL, message, orocos-rtt-dynamic_win32, RUN_TESTS,
> uninstall, ZERO_CHECK)
>
> According to the doc, we should now "Build the 'check' target". Huh? Build
> a target in Visual Studio?
> Just try build all, the 'check' target will be somewhere in it, no?
> So, select Solution and then click "Rebuild Solution".
> Drink a coffee.
>
> Oops, didn't have the chance to get my coffee. It already shows:
>

> error C2039: 'back_inserter' : is not a member of 'std'
> 

> but the build continues.
>

I never tested with msvc 2010, but I think it's because of problems
detecting boost. ( I hope). I you are sure that boost is correctly found,
try to correct the include

>
> Look for the issue on Google... It seems that VS2010 has breaking changes
> corresponding to this back_inserter.
>
> http://blogs.msdn.com/b/vcblog/archive/2009/05/25/stl-breaking-changes-i...
> They suggest to add #include <iterator> in the appropriate headers...
>
> Not going to do that :-(
>
> Conclusion: Put Visual Studio path on hold.
>
> 10) Eclipse as an alternative?
>

Never try, I can't help you. If you are using cygwin, it's not the win32
compiler so it's an other game. Sorry.

>
> Eclipse was our preferred platform anyway.
> Let's try the Eclipse scenario.
>
> Some info found on http://www.orocos.org/wiki/rtt/eclipse, but that only
> shows how to make an application using Orocos on Eclipse.
> That's not what we are trying to do.
> We did see however that cmake also supports Eclipse targets. Would that be
> a way to go?
> Let's try...
>
> No Cygwin.... Euh install Cygwin now.
> Call cmake and chose the Linux build (although that doesn't really match my
> OS...).
> --> Ok, generates fine. Import in Eclipse, build. You get:
>

> target pattern contains no `%'
> 

>
> Google it: http://cygwin.com/ml/cygwin/2006-07/msg00404.html
>
> So we shouldn't use make 3.81 but rather 3.80.
> Cygwin doesn't offer that one anymore.
> cmake doesn't offer a windows specific build for Eclipse.
> Stop...
>
>
> Conclusion: this story could mean two things:
> * Or I am stupid (probably)
> * Or it is not trivial for any Windows user to get started with Orocos 1.x.
> Supported out-of-the-box is then a quite ambitious statement.
>

I agreed with you, It's not easy for a newbie. However, the problem seem to
came from your bad usage of CMake. More than rtt it-self.

>
> Question: did anyone persist more than I did? Has anyone been running
> Orocos 1.x on Windows with VS2010 or preferrably with Eclipse?
> Would you also happen to have made a reasonable "how to"?

I would be grateful :-)
>

I have a how-to, but I'm not sure if I can broadcast it. Sorry, for the
moment at least..

> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>