[omniORB] SuSE Linux 9.0 - gcc 3.3.1 compile problem - "False" not
defined in omniORB 4.0.1/2
Anthony Schlemmer
aschlemm at comcast.net
Sun Nov 16 22:34:11 GMT 2003
I have several IDL files that create unions in them and this leads to
the following generated C++ code for example:
case LOG_IP_DATA:
_pd__default = False;
(IPDataEntry&)_pd_ipData_Entry <<= _n;
break;
I just recently upgraded to SuSE 9.0 from 8.2 and didn't have any
problems before I upgraded. I can't compile any of the generated C++
classes that contain unions in them as "False" is not defined anywhere.
I initially assumed that this was something that older versions of gcc
were defining or something.
I went back and looked at a RedHat Enterprise ES 2.1 system and the
generated C++ code has a "0" (zero) rather than "False" in it. I guess
this progblem may be related to the version of Python being used? On
the RedHat box we have Python 1.5.2 and on the SuSE system we have
Python 2.3+ running.
My stopgap measure to this problem is to include a "-DFalse=0" runtime
argument to the C++ compiler when I compile my generated C++ classes.
I'm seeing this problem with both omniORB 4.0.1 and 4.0.2
I also get some warnings when "omniidl" is run as well:
/opt/omniORB-4.0.2/lib/python2.3/site-packages/omniidl_be/cxx/
descriptor.py:156: FutureWarning: x<<y losing bits or changing sign
will return a long in Python 2.4 and up
return x << distance
/opt/omniORB-4.0.2/lib/python2.3/site-packages/omniidl_be/cxx/
descriptor.py:218: FutureWarning: %u/%o/%x/%X of negative int will
return a signed string in Python 2.4 and up
return "%08x" % x
Tony
--
Anthony Schlemmer
aschlemm at comcast.net
More information about the omniORB-list
mailing list