Port OpenDDS to Genode
rogerdff at ...16...
Mon May 18 14:51:56 CEST 2015
I really appreciate your time and fast response.
I will follow the guidelines given. Thanks.
Regarding the possibility of a working branch on Git that would be interesting, sharing with others that might be willing to use and test OpenDDS as well or other similar OMG DDS implementation such as OpenSlice.
OpenDDS is being my first choice at the moment, since I already tested it on Ubuntu 12.04LS.
I will rebuild it to get the output as you recommended.
But before going into Git, at which point would you recommend me to advance the porting?
Namely, just having the very basic repos with porting (.port & .hash) is enough to start, or should I step on to get a better working mk files?
I did some improvements during the weekend, creating some mk files and a test example in order to force the ACE+TAO library building. OpenDDS not yet.
But I am still on the many erros phase.
I realized that the ace_gperf and tao_idl tools demanded by ACE+TAO relies on libACE that has to be built from the ACE+TAO package, which means that I have to compile / link the whole package using Genode Tool Chain to create the Genode version of ACE libs, and then build the tools.
Only after that I can create the OpenDDS library.
I have not tried yet but I understand that I have to do this.
I am still lost in the out of the tree building concept, not sure what exactly to place in the repos, like include files, to become available in the Genode environment.
I have not much time to dedicate to this, so it can take longer than expected. Beyond the lack of deeper knowledge so far.
I will try to do my best.
As a result, there will be certainly a lot of changes until I hope to succeed.
If you still believe that we could start a branch, please give me the instructions to do so.
> Date: Mon, 18 May 2015 12:13:46 +0200
> From: norman.feske at ...1...
> To: genode-main at lists.sourceforge.net
> Subject: Re: Port OpenDDS to Genode
> Hello Roger,
> > This is my first message, and actually first contact with microkernel world.
> welcome to the mailing list and thank you for the encouraging words! :-)
> > Specifically, OpenDDS3.6 which relies on ACE-TAO2.2a:
> > http://download.ociweb.com/TAO-2.2a/ACE+TAO-2.2a_with_latest_patches_NO_makefiles.tar.gz
> > http://download.ociweb.com/OpenDDS/OpenDDS-
> > <http://download.ociweb.com/OpenDDS/>3.6.tar.gz
> > I create a specific repo inside repos, and did the port files.
> > The make prepare worked with no problems.
> > But then come the challenging part:
> > 1) Adapting Makefiles /Config files to Genode specific platform.
> > ACE-TAO need a specific config and platform files.
> > There are examples for linux, free and openbsd, vxworks, qnx,
> > vxworks, lynxos.
> > From which should I start from?
> without having any knowledge about OpenDDS, I would always start with
> building and running the software-to-port on a Linux host system. When
> building, enable the verbose build output so that you can see all
> arguments passed to the compiler, linker, and the additional tools. It
> is useful to redirect the build output to a file, which can then be
> analyzed. I usually do not bother too much with inspecting the Makefiles
> but just look at the trace of the build output. With this information,
> it is often fairly easy to write library-description files for the
> Genode build system. You can find plenty of examples in _libports/lib/mk_.
> > 2) Creation of the patches. How to create the patches? Just with diff -crNb?
> Yes. I tend to specify -u.
> > 3) Building specific tools.
> > ACE-TAO and OpenDDS rely on specific tools for IDL files.
> > I saw the Qt example with the host_tools.mk approach, but not
> > tested yet.
> As you noticed, the Qt5 port is quite complex. Maybe it is easier to
> wrap your head around the port of mupdf, which also uses this mechanism?
> You can find it at repos/libports/lib/mk/mupdf.mk
> If you'd like us to assist you with the port, it might be worthwhile to
> consider sharing your working branch on GitHub. This would enable others
> to easily reproduce the problem.
> > 4) Creation of the run file. What should be a first trial?
> Depending on the scenario want to realize, it might be a good idea to
> take an existing run script as starting point. For example, for building
> a Qt5-based scenario, I recommend you to first try out, understand, and
> modify the libports/run/qt5.run script. Once you feel contend with it,
> it will become easy to transfer the knowledge to other scenarios. Please
> do not hesitate to ask any questions about the functioning of any
> specific run script.
> > Is there any specific guide, or there is no easy way. Is a try and test
> > process?
> The best way would be to make yourself acquainted with the run scripts
> that are available in the run/ subdirectories of the various
> repositories. To get a list, issue 'find -mindepth 4 -name "*.run"' from
> the root of the Genode source tree.
> Have fun with exploring Genode!
> Dr.-Ing. Norman Feske
> Genode Labs
> http://www.genode-labs.com · http://genode.org
> Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
> Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
> One dashboard for servers and applications across Physical-Virtual-Cloud
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> genode-main mailing list
> genode-main at lists.sourceforge.net
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the users