[Miwi-middleware] Fast CDR Buffer Integration

Dmitri Rubinstein rubinstein at cs.uni-saarland.de
Fri Jan 17 12:53:51 CET 2014


Hi,

couple hours ago eProsima created fastcdr Repository on ZHAW server. So 
I started integration process. First steps are already done, I build 
fastcdr library and FastCDR_ResizeTest tool in native form (just for 
testing) and as LLVM bitcode (for integration) on Linux 64-bit.

The integration is done on fastcdr branch in the KIARA Repository:

gitor at dornbirn.zhaw.ch:kiara/kiara.git

In order to work on integration follow the usual KIARA building 
instructions, then change directory to kiara and switch to the fastcdr 
branch.

cd kiara
git checkout fastcdr

When you already have a working devenv environment, just update kiara: 
de update kiara --pull, and then switch to the fastcdr branch.

Now start building by running de build kiara -j. KIARA build system will 
checkout fastcdr source code first. Then currently building will fail 
because one file is missing:

src/third_party/fastcdr/include/eProsima_cpp/eProsima_auto_link.h

@Ricardo: Please add this file ASAP.

Fortunately you can just create an empty file by using touch:

touch src/third_party/fastcdr/include/eProsima_cpp/eProsima_auto_link.h

Restart build process: de build kiara -j

When no errors appear you should be able to run FastCDR_ResizeTest 
program, which will print message:

TEST SUCCESSFUL.

Also you can run the same program in LLVM bitcode form:

MCJIT:
kiara-lli -use-mcjit -jit-enable-eh $(devenvGetModuleLIBPATH 
kiara)/FastCDR_ResizeTest_tool.bc

JIT:
kiara-lli -jit-enable-eh $(devenvGetModuleLIBPATH 
kiara)/FastCDR_ResizeTest_tool.bc

I also took a short look on the code, and there might be a problem with 
the integration. Fast CDR Buffer library uses exceptions, which are not 
well supported by JIT and MCJIT. As long as they are not thrown it can 
possibly work, but when they are thrown KIARA library can be aborted 
immediately (especially on Windows).

Best,

Dmitri



More information about the Miwi-middleware mailing list

You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy   Cookies policy