Re: BRAT-2-6-8

From: Christian Holm Christensen (cholm@hehi03.nbi.dk)
Date: Wed Jan 08 2003 - 08:56:02 EST

  • Next message: Jens Ivar Jordre: "Re: BRAT-2-6-8"
    Hi Jens Ivar et al, 
    
    Jens Ivar Jordre <jensivar.jordre@fi.uib.no> wrote concerning
      BRAT-2-6-8 [Tue, 07 Jan 2003 16:48:36 +0100] 
    ----------------------------------------------------------------------
    > Howdy.
    > 
    > Installing Red Hat 8.0 some time ago I found that brat did not compile
    > properly. Today I therefore delved into converting to brat to be
    > compatible with gcc3.2.
    > 
    > Note however that one still has to use aclocal and automake version
    > 1.4, available under RH 8.0 as aclocal-1.4 and automake-1.4. This
    > has to be done since BRAT currently is incompatible with the newer
    > versions of aclocal and automake. 
    
    Could you be a little more specific please?  I've not seen any of
    these problems at home on my Debian GNU/Linux 3.0r0 system, sporting
    Automake 1.7, Autoconf 2.53, and Libtool 1.4.  It may just be that Red
    Hat screwed up (again) :-).  
    
    Anyway, please give some details.  
    
    
    > There is no changed functionality. Most fixes consisted of removing 
    > default function arguments in class member function definitions, 
    > typically in .cxx files, where they don't belong. 
    
    Yep, that's non-standard, and GCC 3.2 barks at it.  Actually, with GCC
    2.96-RH, you may get unexpected behaviour in these cases - that is,
    the default argument is _always_ passed!
    
    > All default arguments should go in the function declaration,
    > typically in .h file. Please keep this in mind if you are using
    > older versions of gcc, since gcc 3.2 and above is stricter. I tested
    > that brat compiles on RH 7.2. 
    
    You said it. 
    
    > Since I did not do anything regarding compatibility with newer versions 
    > of autotools, I consider the migration not completed and therefore only 
    > increased the revision number. I also tagged, of course.
    
    Cool!
     
    > Here's a snippet from the ChangeLog.
    > 
    > ----
    > 
    > 2003-01-07  Jens Ivar Jordre  <jensivar.jordre@fi.uib.no>
    > 
    ...
    > 
    >          * modules/digitize/BrDigitizeTPC.cxx, 
    > modules/digitize/BrGeantToDetector
    > Tracks.cxx:
    >          Update to compile with gcc 3.2
    >          Removed default function arguments from .cxx files
    >          Also replaced call to Standard C++' pow(x,y) with TMath's 
    > Power(x,y) whe
    > re the compiler could not distinguish between the two versions of pow, 
    > from math
    > .h and from bits/std_cmath.h
    
    How come `math.h' was included at all?  It should never be in C++
    code.  Include `cmath' instead.  Also, kudo's for exchanging  `pow'
    with `TMath::Power'  - the point of using ROOT is among other things,
    that that library takes care of all the `weird' stuff that goes on on
    some architectures.  I can think of at least 2 distinct places in BRAT
    where a similar clean-up would be needed. 
     
    > 2003-01-07  Eun-Joo Kim, BNL, x4448  <ejkim@rcas0021.rcf.bnl.gov>
    > 
    >          * data/rdo/BrTrackTree.cxx, data/rdo/BrTrackTree.h:
    >          delete Tpm1B fiber - no plan added
    
    `plan'? 
    
    Oh, and for all of you:  If you haven't read my last reply to Hiro
    yet, do so now - it's guarantied increase your Productivity (or some 
    other M$-buzzword of your liking).   Really, I'm not kidding.  
    
    Yours, 
    
     ___  |  Christian Holm Christensen 
      |_| |	 -------------------------------------------------------------
        | |	 Address: Sankt Hansgade 23, 1. th.  Phone:  (+45) 35 35 96 91
         _|	          DK-2200 Copenhagen N       Cell:   (+45) 24 61 85 91
        _|	          Denmark                    Office: (+45) 353  25 305
     ____|	 Email:   cholm@nbi.dk               Web:    www.nbi.dk/~cholm
     | |
    


    This archive was generated by hypermail 2.1.5 : Wed Jan 08 2003 - 08:59:18 EST