On 2/16/07, David Lee <[EMAIL PROTECTED]> wrote:
This is really just an observation, not (necessarily) a request for
fixing a problem.  (Although if someone could say "yes, that's trivially
fixable by doing XYZ", that would be nice.)

Some of our systems share an old gcc compiler, version 2.95.2, on which
heartbeat has always built successfully until recently.  At some point in
the last six months or so, something has changed to stop this.  The code
in question is "include/crm/crm.h", around line 225:
   #define crm_err(fmt, args...)     do_crm_log(LOG_ERR,     fmt, ##args)

(and similar lines) which now expand incorrectly, leaving a trailing ","
in that old version of gcc.

On various other systems, I have tried v 3.4.5, 4.0.2, 4.1.1 and they are
all OK.  (A web page I found at the GNU site concerning GNU/CPP talked
about this problem, but didn't mention gcc version numbers.)

So I'm assuming that our "include/crm/crm.h" is now using a feature only
found in (presumably) v3.x and above.

If someone can confirm this, and if we decide to leave it this way (which
I suppose would be fair enough), then it might be nice if "configure"
could do an early check on the version of gcc that it finds, and then
stops if the version number is too early.

i'd vote to check for >=3.0 (or whatever version allows that #define to work)

its faster and avoids a lot of va_args messiness
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to