Orocos and Windows XP

I work for a company that makes industrial sized printers that work in SMT (Surface Mount Technology) production lines. We feel that Orocos might provide a suitable framework for our machine control software, even though we don't use robotics per se.

I have downloaded the source for version 1.6 of RTT and OCL and am now trying to build the code on my PC. Unfortunately, we are restricted to using a Microsoft Windows OS. (We will need to reuse some other components of ours that won't port to a Linux or MAC OS.)

So far I have installed the Windows versions of the boost libraries (1.36.0) and a Windows version of CMake (2.6). I am attempting to use CMake to configure RTT. After some minor changes to CMake's cached values, CMake is now detecting the boost libraries. However, CMake now fails within global_setup.cmake. I presume this is because global_setup.cmake does not support a Microsoft Windows OS/compiler. It gives me the following errors:

Could not determine gcc version: Exit code 0xC0000135

and

CMake Error at config/global_setup.cmake: 75 (MESSAGE)
Looking for Cppunit-not found

I am aware that Orocos has not been written to support Windows OS, however, you have clearly gone to great lengths to make the framework portable. Please, will you advice me on how I may proceed. I have no prior experience with CMake, although I do have a small to moderate knowledge of Linux.

Thank you for your help.

Orocos and Windows XP

Hi Rick,

I have been using Orocos (RTT) on windows using mingw for some time now. You only need smaller additions to the cmake build system and of course a couple of files for the os folder. If you wan't i guess i could send or post my changes...

Cheers,
Jimmy

Hi JimmyThat's useful to

Hi Jimmy

That's useful to know. I might get in touch with you in a few weeks to find out more.

I've just finished the first draft of my feature comparison of Orocos and CCR/DSS. I've comparing them in relation to our needs specifically and both frameworks seemed to score equally. I don't know much about MinGW, but I believe that it's impossible to debug MinGW deliverables in Visual Studio. Is this correct? We're already using Visual Studio for our user interface and so a port to a compiler other than Visual Studio would probably adversely affect Orocos' score in my evaluation.

Anyway, at least it gives us some reassurance that there is a way forward if we decide to proceed with Orocos.

Thanks for your help.

Rick Parussel

MinGW port of RTT

Hi guys,

at some point i promissed to post my MinGW port of orocos. Though its been some while now. My original port was actually for 1.2 and theres been some changes since that. My port was not tested with the unit tests and i therefore had to work a bit to get that working too.
I actually ended up porting the CPPUnit tests to BOOST test framework since the library CPPUnit gave me quite alot of trouble on windows/MinGW.

The port does unfortunatly not currently pass all unit tests. But perhaps more advanced Orocos users than I can comment on these failures.

The port use native windows threads and does not rely on MSYS or Cygwin. You only need to install the MinGW 3.4.2 and download the BOOST header library. We use native threads since we originally also used Visual Studio. Though my initial tests on using Visual Studio 2005 for this patch has not been successfull.

So in spite of some bugs i hope this is still usefull. I will continue to look on these bugs but my time is limited so I will restrain from making any promises ;)

PS. the port does not include Corba support sorry. Though this could be quite interesting to do next. Patch is attached to bug 605. "https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=605"

Had a go at compiling

Had a go at compiling native Win32, as it would be much easier for us to evaluate.

Got as far as 43% through the compile, and got errors (see attachment)...

Trying now with exact specified version of MinGW, rather than current version...

Q: Do I need to ONLY apply the "mingw32-native-orocos.patch 421.01 KB" patch to the current rtt 1.61 source tree, as the bug link has LOTS of patches on there....

Had a go at compiling

On Friday 06 February 2009 12:56:43 markgillespie [..] ... wrote:
> Had a go at compiling native Win32, as it would be much easier for us to
> evaluate.
>
> Got as far as 43% through the compile, and got errors (see attachment)...
>
> Trying now with exact specified version of MinGW, rather than current
> version...
>
> Q: Do I need to ONLY apply the "mingw32-native-orocos.patch 421.01 KB"
> patch to the current rtt 1.61 source tree, as the bug link has LOTS of
> patches on there....

You also need to apply the boost patch from
https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=606
Since you are using boost 1.37.x

And remove the lines in two files as listed in comment #9 on the same page.

You also need to apply Replace-uint-... and Implement-a-more... patches from
bug 605.

A discussion on such experimental issues belongs on the RTT / Orocos-dev
mailing list...

Peter

Thanks, the boost fix (and

Thanks, the boost fix (and commenting out the 2 lines) worked. The other 2 patches were already in the MinGW patch I applied.

Orocos and Windows XP

Hi Jimmy,

I
would really appreciate if you could send us your patch. This would
finally allow me to validate my controllers on Windows. Have you
managed to run CORBA on Windows? I think that a Windows version of TAO is
available.

Have a good day,

Philippe Hamelin




2008/12/16 <jimali [..] ...>

Hi Rick,



I have been using Orocos (RTT) on windows using mingw for some time now. You only need smaller additions to the cmake build system and of course a couple of files for the os folder. If you wan't i guess i could send or post my changes...



Cheers,

Jimmy


Orocos and Windows XP

Hi Jimmy,
Great news !

I am interested in doing some non real time simulation on Windows with Orocos.

It would indeed be very useful if you could send or post your work. I don't know what is the easiest way for you ...

Thanks
Renaud

Orocos and Windows XP

On Friday 21 November 2008 15:24:02 rparussel [..] ... wrote:
> I work for a company that makes industrial sized printers that work in SMT
> (Surface Mount Technology) production lines. We feel that Orocos might
> provide a suitable framework for our machine control software, even though
> we don't use robotics per se.
>
> I have downloaded the source for version 1.6 of RTT and OCL and am now
> trying to build the code on my PC. Unfortunately, we are restricted to
> using a Microsoft Windows OS. (We will need to reuse some other components
> of ours that won't port to a Linux or MAC OS.)
>
> So far I have installed the Windows versions of the boost libraries

Good. That is our main external library dependency, next to CORBA, which is
probably now not your biggest concern...?

> (1.36.0) and a Windows version of CMake (2.6). I am attempting to use CMake
> to configure RTT. After some minor changes to CMake's cached values, CMake
> is now detecting the boost libraries. However, CMake now fails within
> global_setup.cmake. I presume this is because global_setup.cmake does not
> support a Microsoft Windows OS/compiler. It gives me the following errors:
>
> Could not determine gcc version: Exit code 0xC0000135

You could try to compile RTT with the MinGW (Minimal Gnu for Windows) gcc
compiler, but I can not advise on how to set it up such that it is detected by
CMake.

>
> and
>
> CMake Error at config/global_setup.cmake: 75 (MESSAGE)
> Looking for Cppunit-not found

Set ENABLE_TESTS to OFF

>
> I am aware that Orocos has not been written to support Windows OS, however,
> you have clearly gone to great lengths to make the framework portable.
> Please, will you advice me on how I may proceed. I have no prior experience
> with CMake, although I do have a small to moderate knowledge of Linux.

As discussed on this list before, there are three major efforts in porting
Orocos RTT:
1. Get the cmake scripts working on your system.
2. Prepare a compiler setup that can compile RTT to your system (we're all
using GCC).
3. Create a src/os/win32 directory which maps the 'fosi' abstraction layer to
the win32 API. We have examples for GNU/Linux and MacOS X.

Only when this works, you can consider getting CORBA to work as well.

Peter

Orocos and Windows XP

Hello Herman, Peter and Rick,

did you look around Cygwin? It may not be as stable as a pure Windows port, but it would be a simple way to use Orocos on Windows. For GUI or simulation purposes it may be a fast and good alternative.

Cygwin already has boost, readline, and cmake precompiled. It also has ORBit2 for the CORBA feature.

An other solution may be MinGW, but I don't know much about it.

I would like to have your feedback about that.

Philippe Hamelin

Orocos and Windows XP

On Tuesday 09 December 2008 17:39:58 philippe [dot] hamelin [..] ... wrote:
> Hello Herman, Peter and Rick,
>
> did you look around Cygwin? It may not be as stable as a pure Windows port,
> but it would be a simple way to use Orocos on Windows. For GUI or
> simulation purposes it may be a fast and good alternative.

A few weeks ago I spoke with users in France which wanted to use Orocos on
Windows for running Orocos components in their simulator. They investigated
cygwin, but found it to slow (although it may have been a configuration issue,
imho). But in the end, Orocos did compile on cygwin without any(?) change.

>
> Cygwin already has boost, readline, and cmake precompiled. It also has
> ORBit2 for the CORBA feature.
>
> An other solution may be MinGW, but I don't know much about it.

I believe MinGW is what we should aim for in order to minimize 'compiler
porting' and still have the full performance on Windows. If that works, people
could start aiming for the Visual Studio port.

>
> I would like to have your feedback about that.

I believe there is a critical mass that wants to test (or at least simulate)
Orocos on the Win32 API. Also, this would open the door to Windows CE, which
is after all another RTOS.
I'm personally motivated to assist this porting effort, although my employer
has no such intentions. This means I can't take the lead, but I can answer
questions, guide the process and make sure that it can be accepted into the
main line.

The easiest part is porting RTT (if you know the Win32 API), OCL is a bit more
complicated, as you need to replace the dlopen, dlsym and some directory
reading calls with Win32 equivalents in the DeploymentComponent. The
TaskBrowser can be compiled without readline (and has then no other
dependencies than the RTT) which would be sufficient for first testing.

Peter

Orocos and Windows XP

On Tue, 9 Dec 2008, philippe [dot] hamelin [..] ... wrote:

> did you look around Cygwin? It may not be as stable as a pure Windows port, but it would be a simple way to use Orocos on Windows. For GUI or simulation purposes it may be a fast and good alternative.
>
> Cygwin already has boost, readline, and cmake precompiled. It also has ORBit2 for the CORBA feature.
>
> An other solution may be MinGW, but I don't know much about it.
>
> I would like to have your feedback about that.
>
It's all a matter of having enough time to try out these things... Since
Orocos is open source, _someone_ will spend the efforts if this is really a
very necessary thing to have... But don't expect us to do much about it in
the near future. Maybe I can find a summer intern to try it out, but
otherwise Windows porting is not high on our priority list. (Since _our_
main drive is to get things working on real realtime robot systems, and
Windows is not really relevant in this respect.)

Herman

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

Orocos and Windows XP

Thanks Herman and Peter for your reply. Sorry that I haven't responded.

Before we put the effort in to make the port we want to be sure that Orocos is right for our needs.

I'm currently comparing its features against CCR and DSS. If Orocos is more suited to us then we'll continue with the port.

Orocos and Windows XP

On Tue, 9 Dec 2008, rparussel [..] ... wrote:

> Thanks Herman and Peter for your reply. Sorry that I haven't responded.
>
> Before we put the effort in to make the port we want to be sure that
> Orocos is right for our needs.
>
> I'm currently comparing its features against CCR and DSS. If Orocos is
> more suited to us then we'll continue with the port.
>
Don't hesitate to use the mailinglist (preferably the orocos-dev list) if
you want to discuss some concrete features or comparisons!

Herman

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

Orocos and Windows XP

On Fri, 21 Nov 2008, rparussel [..] ... wrote:

> I work for a company that makes industrial sized printers that work in
> SMT (Surface Mount Technology) production lines. We feel that Orocos
> might provide a suitable framework for our machine control software, even
> though we don't use robotics per se.

The RTT part of Orocos is indeed completely independent of the robotics
application domain; it provides a good infrastructure to let non-expert
programmers work with asynchronous components...

> I have downloaded the source for version 1.6 of RTT and OCL and am now
> trying to build the code on my PC. Unfortunately, we are restricted to
> using a Microsoft Windows OS. (We will need to reuse some other
> components of ours that won't port to a Linux or MAC OS.)
Tough luck! :-)

[...]
> I am aware that Orocos has not been written to support Windows OS,
> however, you have clearly gone to great lengths to make the framework
> portable.

Yes, and we have eagerly been waiting for someone like you to dare to start
the porting to Windows :-)

> Please, will you advice me on how I may proceed. I have no
> prior experience with CMake, although I do have a small to moderate
> knowledge of Linux.

_If_ you do not want to remove the CMake infrastructure (which we also do
not want, since it was chosen (among other reasons) for its multi-platform
capabilities, learning some more about CMake seems to be inevitable... Of
course, you can come to this mailinglist with concrete questions. (Several
CMake questions show up at regular intervals.)
The BFL part of Orocos has already got some Windows-porting going on during
the last two years, so you might look at the CMake files there, to start
with.

Good luck!

Best regards,

Herman

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm