Problem 1067

Summary: Configure -cppflags (and others) is too chatty
Product: Geant4 Reporter: Giuseppe Vacanti <gvacanti>
Component: configAssignee: Ben Morgan <Ben.Morgan>
Status: CLOSED FIXED    
Severity: trivial    
Priority: P5    
Version: 9.2   
Hardware: All   
OS: All   

Description Giuseppe Vacanti 2009-05-25 18:40:25 CEST
I use Configure -cppflags and its siblings to extract the relevant compilation flags (I use my own make file system). Now I get this:


They are not compatible!  You are probably running ksh on a non-USG system.
I'll have to use /bin/echo instead of the builtin, since Bourne shell doesn't
have echo built in and we may have to run some Bourne shell scripts.  That
means I'll have to use '-n' to suppress newlines now.

The star should be here-->*
-DG4OPTIMISE -Iinclude etc

which destroys my ability to extract the relevant flags. I have fixed this myself in my local version, but it would be nice if this could be fixed permanently. From where I stand this problem was not there in version 9.0, and started at around 9.1.

Regards, Giuseppe
Comment 1 Ben Morgan 2009-05-26 12:06:01 CEST
I've marked this as a WORKSFORME, as I've tried this on both 9.1 and 9.2 and I don't get this error message. Has your system/shell changed since moving from 9.0 to 9.1?

The message arises from a check on echo, so it indicates, I think, a 'problem' on your system rather than incorrect functionality in Configure. That check is part of a core metaconfig unit, so it's not something that's advisable to modify globally.

Ben.
Comment 2 Giuseppe Vacanti 2009-05-26 13:48:16 CEST
OK, I think I begin to understand. I use Ubuntu, and at some stage they started pointing /bin/sh to /bin/dash instead of /bin/bash. Configure runs under /bin/sh that used to be bash, then at some stage it started running under dash, and this triggers the message. If I change the hash-bang to be '#!/bin/bash', then all is well.

Understood that part, the question could be whether the message could not be sent to stdout, so that I can ignore it if I want to. Or perhaps it could be marked in such a manner that I can easily parse it and discard it. On my system at least the script can find a solution, and it generates the right answers.

Giuseppe
Comment 3 Ben Morgan 2009-05-26 14:52:26 CEST
Thanks for the info - I hadn't realized that Ubuntu did that to sh! I tested on openSUSE, so that explains the different behaviour.

Looking in detail at the unit file, the message is just a warning, so I think it can be suppressed without hurting anything else (other than a lack of info, which *might* cause problems with debugging). I'll make the change in CVS.
Comment 4 Ben Morgan 2009-05-26 15:21:40 CEST
Warning about echo compatibility in Loc.U commented out in CVS.