After Upgrade to Fedora Linux 34, rtiddsgen no longer works

2 posts / 0 new
Last post
Last seen: 1 week 3 days ago
Joined: 04/04/2015
Posts: 5
After Upgrade to Fedora Linux 34, rtiddsgen no longer works

I recently upgraded from Fedora 33 to 34.  Ever since, I cannot get rtiddsgen to funciton.

Here is the error messages:


<path>/rtiddsgen -stl -language C++ -namespace -verbosity 3 -replace -I ./ -d ./ ./ShapeType.idl

INFO com.rti.ndds.nddsgen.Main Running rtiddsgen version 2.5.2, please wait ...

line 1:2 mismatched character '0' expecting set null

ERROR line 1:4 no viable alternative at input '"/tmp/"'

ERROR com.rti.ndds.nddsgen.Main Fail: java.lang.Exception: The file couldn't be parsed and the rawTree wasn't generated

INFO com.rti.ndds.nddsgen.Main Done (failures)

This happens on every IDL file I compile,  even the examples that ship with the product ( e.g. ShapeType.idl )

How can I get more details on what "line 1:2 mismatched character '0' expecting set null"  means?


Last seen: 14 hours 1 min ago
Joined: 10/15/2018
Posts: 6

Hi ed_hourigan,

You are getting that error because when the preprocessor, GCC, is generating a temporal preprocessed IDL with '#0' in one of the lines line. That directive is not allowed in rtiddsgen. Then, it throws the error that you are seeing.

We have seen this error with GCC 11 but that version of GCC is not supported, and the fix for this issue is no planned yet.

It seems that this change has been introduced in GCC 11, so GCC 10 may work. Please be aware that the latest GCC version supported and tested by RTI is GCC 7.5.0 in Ubuntu 18.04 for Connext DDS 6.1.0.

If you do not need the preprocessor, adding the flag -ppDisable to rtiddsgen should work. 

The flag -ppDisable prevents the use of the preprocessor, please see the rtiddsgen manual for more information.

Can you confirm your GCC version?



I see in the version of rtiddsgen that you are using Connext DDS 5.3.1, the lastest GCC version supported for that release is 7.3.0 in Ubuntu 18.04.