Re: Need a help

From: Russell Browne (russ_at_amc.com)
Date: Mon Sep 10 2001 - 19:22:39 BST


> Hello:
> 
> When i use UPS to run a program, it is ok.  When I double click the
> variables, it crashed.  Here is the info:
> 
> Warning:  sizeof(bool) inconsistent across compile modules!
>           This may be caused by compiling with different versions of
> g++.
>           (You may suppress this warning by setting the environment
>           variable UPS_WARN_INCONSISTENT_BOOL=off)
> Fatal internal error: bad number in parse_num (aborting) ...
> Dumping core ... Abort
> 
> 
> I compiled the UPS, it doesn't work.
> 
> Need a help
> 
> 
> Zhidian Du
> 

The warning results from using different compilers, or different versions
of the same compiler, with different ideas about how big a bool is.

The warning was put in when g++ changed sizeof(bool) from 1 to 4, with
version 2.7.3(?).  I think version 3.0 will go back to a one byte bool,
but I haven't gotten my hands on version 3.0 yet.

If you're using different versions of g++ with different ideas about
a basic data type, you should probably fix your builds to use the same
version through out.  Otherwise, you're setting yourself up for some very
hard to find bugs.

You could also get the warning by mixing the Sunpro and g++ compilers.
This would be less likely to introduce bugs since the differerent
name mangling schemes would prevent either compiler from calling
the other directly.  But it might lead to the core dump you report,
if UPS decides it is reading debug data from one compiler then starts
reading debug data from another instead and sees something that doesn't
make sense.

If that is the problem, you might be able to turn off -g on the compile
line for one or the other compiler.  Of course, then you won't be able
to debug that part of your code.

Finally, I also don't know whether anyone's tried using UPS on g++ 3.0
compiled code.  I think 3.0 contains many changes, and probably breaks
something for us.  Can anyone in the user's group fill me in on that?

Hope this helps.

Russ Browne
Applied Microsystems Corp.


This archive was generated by hypermail 2.1.4 : Wed Feb 13 2002 - 21:51:34 GMT