Old stuff in /afs/rhic/opt/brahms (Was Re: compiling brat/brop/brag in RH7.1 pii computers)

From: Christian Holm Christensen (cholm@hehi03.nbi.dk)
Date: Thu Oct 18 2001 - 06:23:49 EDT

  • Next message: Konstantin Olchanski: "Re: Old stuff in /afs/rhic/opt/brahms (Was Re: compiling brat/brop/brag in RH7.1 pii computers)"

    On Wed, 17 Oct 2001 15:11:53 -0500 (CDT)
    Kris Hagel <hagel@cyclotronmail.tamu.edu> wrote
    concerning "Re: compiling brat/brop/brag in RH7.1 pii computers":
    > Christian,
    > The reason I continue to use the root in /afs/rhic/opt/brahms/root
    > (root 3.02 now) is because I almost exclusively use my own brat in
    > my own directory. Since the root and brat files are all mixed
    > together in/afs/rhic/opt/brahms/pro/lib as well
    > /afs/rhic/opt/brahms/pro/bin, I find it an extra level of confusion
    > when linking things if I want to link to my personal brat and then
    > send link  paths into a directory (afs/rhic/opt/brahms/pro/lib)
    > which has a mixture of both sets of libraries (ROOT + BRAT).  Also,
    > when doing that, I have no idea which version of root I might be
    > linking to.  
    
    That's easy.  It's the one that corresponds to the first root-config
    found in your path.  So get the version number, simply do 
    
      root-config --version 
    
    To figure out which directory the libraries lives in, do 
    
      root-config --libs 
    
    Similar goes for BRAT 
    
      brat-config --version 
      brat-config --libs 
    
    So suppose you installed BRAT in prefix=${HOME} using the ROOT in
    /afs/rhic/opt/brahms/pro, you can see which libraries it uses by doing
    (on Linux)
    
      ldd ${HOME}/bin/bratroot 
    
    If you have trouble finding the ROOT libraries, because the its path
    isn't linked into the executable, set you LD_LIBRARY_PATH to contain
    the path to the ROOT libraries (e.g. /afs/rhic/opt/brahms/pro/lib).
    
      export LD_LIBRARY_PATH=/afs/rhic/opt/brahms/pro/lib 
    
    Then try doing 
    
      ldd ${HOME}/bin/bratroot 
    
    If it shows that it uses the BRAT libraries from
    /afs/rhic/opt/brahms/pro/lib, then you can simply force it to use the
    ones in your home directory by putting ${HOME}/lib in front of
    /afs/rhic/opt/brahms/pro/lib in your LD_LIBRARY_PATH: 
    
      export LD_LIBRARY_PATH=${HOME}/lib:/afs/rhic/opt/brahms/pro/lib 
    
    I expect many people have thier own BRAT installation (at least all
    those that does development), but I've never heard off any problem
    doing this.  In fact, we have a similar installation tree here at NBI
    and that has been working for Ian, Pawel, Peter, Djamel, Claus, Erik,
    and David ever since we introduced BRAT 2.  You may wonder why I'm
    missing from the list above, but that's because I have my own ROOT
    installation since I hack on ROOT from time to time and also tests
    BRAT against the newest ROOT all the time.  In short, I don't believe 
    there's any problem there at all. 
    
    > And there is always the issue that when I have something working,
    > someone else will upgrade root and replace all the root libraries in
    > those directories and my stuff (or someone's stuff who I am helping)
    > will cease to work with no explanation whatsoever.  Having root in
    > its own separate directory which will not be messed with once it is
    > built completely sidesteps that problem and keeps things working. 
    
    Usually, what happens in a ROOT minor version upgrade, is that the
    libraries (e.g. libCore.so.3.01) seizes to exist and is replaced by
    the new libraries (e.g. libCore.so.3.02). This makes a difference
    since the soname of the ROOT libraries contains the minor version
    number.  This is a Good Things, since it means you always know (using
    ldd) which ROOT libraries you linked your application against.  
    
    Anyway, it shouldn't take more than a relink to get the thing
    working.  Also, whenever I update ROOT I _always_ write an email to
    brahms-soft-l telling my intention and when it's done, so it's not
    like you're not warned. 
    
    The policy of the ROOT updates is more or less to follow ROOT itself.
    That is, when a new pro ROOT hits the streets, and we sure that BRAT
    builds with it, that will become the ROOT we install in the production
    tree (Usually with a month or two delay).  Now, at the moment, we
    actually have a "new" ROOT in the production tree - but there's a good
    reason for this:  We need a bugfix that was introduced in 3.02/00 for
    BRAT to work! 
    
    Finally, if you're really concerned about (untimely?) upgrades of
    ROOT, why don't you just install your own ROOT?  Remember, the
    /afs/rhic/opt/brahms area is for the use of the full collaboration and
    hence I believe that individuals that want something different should
    keep it in thier own house (i.e., ${HOME}) and not polute the
    collaborations space.  
    
    Frankly, I'm concerned that people will start using non-standard,
    non-supported installations or various third-party software like ROOT,
    which you can easily imagine will lead to loads of odd problems.   
    
    Suppose someone writes you and say I have a problem doing this and
    that, and you start hunting down the problem (using hours of your
    time) assuming that the fella used the regular setup. Well, it turns
    out, that the fella used something non-standard and therefore you do
    not find the problem immediately (spending even more 
    time).  
    
    I think it has been demostrated over and over again, that doing stuff
    (like using third-party software, writting code, reporting bugs, etc.)
    in a non-standard way, leads to a world of trouble.  Hence, please try
    to do things The Right Way.  We've (you - Kris, Flemming and I) have
    invested quite a lot of time in making things easy to use, and while
    we may not have succeded completly we've defently much better off now
    than 2 years ago.  Anyway, if users start having serious problems or
    many users feel uncomfortable with certain procedures, we're (I think
    I speak for all three) always be ready to discuss it.  Quoting [1],
    chapter 4  
    
      7. Release early.  Release often.  And listen to your customers.
    
    > SO, DO NOT DELETE the stuff in /afs/rhic/opt/brahms/root (except
    > versions earlier than root 3.02) until you have satisfied my
    > concerns noted above. 
    
    I hope I have satisfied your concerns.  Anyway, please advice. 
    
    
    Yours, 
    
    Christian Holm Christensen -------------------------------------------
    Address: Sankt Hansgade 23, 1. th.           Phone:  (+45) 35 35 96 91 
             DK-2200 Copenhagen N                Cell:   (+45) 28 82 16 23
             Denmark                             Office: (+45) 353  25 305 
    Email:   cholm@nbi.dk                        Web:    www.nbi.dk/~cholm
    
    [1] Eric Steven Raymond, "The Cathedral and the Bazaar", O'Reilly,
        http://http://tuxedo.org/%7Eesr/writings/cathedral%2Dbazaar/index.html 
    



    This archive was generated by hypermail 2b30 : Thu Oct 18 2001 - 06:24:19 EDT