Re: BRAT compilation problems on RH9

From: Flemming Videbaek (videbaek@sgs1.hirg.bnl.gov)
Date: Fri Aug 01 2003 - 09:54:32 EDT

  • Next message: Hironori Ito: "Re: BRAT compilation problems on RH9"
    Hi Bjoern
    a few comments in the mail.
    
    Flemming
    
    
    | 
    | Hi all.
    | 
    | I've just migrated my laptop to RedHat 9, and in the process of compiling
    | brat I've come across a cople of problems. I'd like some input on the
    | following points/suggestions:
    | 
    | * First, the autogen step. As Hiro, Steve and Christian pointed out some
    | time back, on newer systems we need to do
    | libtoolize --automake
    | automake -a
    | autoconf
    | ./configure --disable-dependency-tracking
    | make; make install
    | to compile, which is not what's in the autogen file. Is there any reason
    | not to change the autogen? (I.e. will these commands also work for any
    | older systems that we might have?)
    
    This can be changed I believe -- as Christian also points out later.
    
    | Christian: I had to include the --disable-dependency-tracking to compile
    | on a newborn, quite standard RH9 installed from a blank disk - since you
    | asked in an email once.
    | (http://www.sdcc.bnl.gov/brahms/private/list_hyper/brahms-dev-l/2485.html)
    | 
    | * Then, in the file
    | util/BrIostream.h
    |   1) using std::setprecesion;
    |      should be
    |      using std::setprecision;
    |      Typical physicist typo? ;-)
    
    I made the typo, but Hiro found it while we compiled here from RH9- and thought it was fixed.
    will do.
    I agree completely with Christian that the peoper way to deal with the namespace issue is
    to have as first alternative in cxx files " use std::cout; etc"
    using namespace std should be discourage since it opens up a lot.
    The reason I put some of this using into BrIostream was to made the migration easier rather than going through
    all the classes- but have the #include BrIostream.h" as the LAST #include file.
    In general when I have to look at or edit an class I change the namespace over to the proper way of  doing it
    but there are lots of classes.
    
    
    |   2) To compile a number of other classes, I had to add
    |      using std::setw;
    |      using std::cerr;
    |      Should this have been dealt with in another way, or is this a good
    |      place to add them?
    | 
    | * I have multiple instances of files called vector.h around my system. I
    | therefore had to change a number of #include <vector>'s to #include
    | "vector.h" to get the right file. Any reason not to make this change
    | permanent?
    | 
    YES.
    As christian says the proper STL vector include is <vector> not the <vector.h> and remmeber having
    use vector; 
    (which I think is mainly there)
    
    I made one attempt to compile brat on RH9 and failed because it could not find the <vector>
    but later hiro got it to work fine. Actually ROOT also includes these files.
    
    | * Finally, I ended up with a line
    | #include "algorithm.h"
    | in the auto-generated file
    | modules/util/modules_util_Cint.h
    | I could't find this file on my system, and removing the include does not
    | seem to cause problems. Ideas on this?
    | 
    | After all that, I have a fresh ROOT and BRAT on my system:
    | [samset@fyspc-kjerne39 samset]$ bratroot
    @fyspc-kjerne39 samset]$ bratroot
    |   *******************************************
    |   *                                         *
    |   *        W E L C O M E  to  R O O T       *
    |   *                                         *
    |   *   Version   3.05/07     1 August 2003   *
    |   *                                         *
    |   *  You are welcome to visit our Web site  *
    |   *          http://root.cern.ch            *
    |   *                                         *
    |   *******************************************
    | 
    | FreeType Engine v2.1.3 used to render TrueType fonts.
    | Compiled for linux with thread support.
    | 
    | CINT/ROOT C/C++ Interpreter version 5.15.94, June 30 2003
    | Type ? for help. Commands must be C++ statements.
    | Enclose multiple statements between { }.
    |  ********************************************
    |  *                                          *
    |  *       W E L C O M E  to  B R A T         *
    |  *             Version  2.09/08             *
    |  *                                          *
    |  * All Classes preloaded                    *
    |  * Library, Header and Script paths set     *
    |  *                                          *
    |  ********************************************
    | 
    | brat [0]
    | 
    | Hooray!
    | 
    | I'll await some feedback before trying to fix the problems, but note that
    | at least the typo in util/BrIostream.h renders BRAT uncompilable (but
    | easily fixable) at the moment.
    | 
    | Ping :-)
    | 
    | --
    | Bjorn H. Samset                           Phone: 22856465/92051998
    | PhD student, heavy ion physics            Adr:   Schouterrassen 6
    | Inst. of Physics, University of Oslo             0573 Oslo
    |                               \|/
    | ----------------------------> -*- <-----------------------------
    |                               /|\
    | 
    


    This archive was generated by hypermail 2.1.5 : Fri Aug 01 2003 - 09:53:05 EDT